Zum Inhalt springen

Programm in Batch-Datei per Umgebungsvariable aufrufen


igurov

Empfohlene Beiträge

Hallo,

Ich habe ein kleines Programm für Konvertit das aktualle Datum in einer Reihung.


static int Main(string[] args)

{

DateTime dt = DateTime.Now;

string tostring = dt.ToString("yyyyMMdd");

Console.WriteLine("{0}", tostring);

return int.Parse(tostring);

} 

Jetzt möchte ich dieses Ergebnis als eine Datumvariable in .cmd Scrpit nutzen.

@ECHO OFF

copy "C:\Program Files\Microsoft Visual Studio 8\VC#\CSharpProjects\date_string\date_string\bin\Release\date_string.exe" c:\temp

set variable=c:\temp\date_string.exe

set AGCLOG="C:\RCP VIEWER PARSER\report.txt"

echo Setting the variable...

echo --- start -------- >> %AGCLOG%

echo %variable% >> %AGCLOG%

pause

Wenn ich das report.txt öffnen, ist das Ergebnis den entstehenden Text: --- start --------------------------------------------------------------------- c:\temp\date_string.exe Das Problem ist dass die Varialbe die Resultat von dem Programm nehmen muss. Mit diesem code
set variable=c:\temp\date_string.exe

ist aber leider die Variable = c:\temp\date_string.exe stattdessen = 20080806

Gruß Iliya

Link zu diesem Kommentar
Auf anderen Seiten teilen

du kannst ausgaben deines programms nicht so ohne weiteres in die umgebung speichern.

ungetestet:

date_string > temp.txt

set /p variable= < temp.txt

del temp.txt

allerdings frage ich mich, warum du den datumstring nicht gleich mit der commandshell erzeugst, sondern dazu ein externes programm verwendest.

s'Amstel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich brauche die letzten 5 Daten jeden Tag als Parameter verwenden.

Wenn ich deine Lösung realisiren, muss ich das Skript jeden Tag verändern.

Daswegen brauche ich ein externes Anwendung:


if (args[0] == "current")

            {

                DateTime dt = DateTime.Now;

                string tostring = dt.ToString("yyyyMMdd");

                Console.WriteLine("{0}", tostring);

                number = int.Parse(tostring);


            }

            if (args[0] == "previous")

            {

                DateTime dt = DateTime.Now.AddDays(-1); ;

                string tostring = dt.ToString("yyyyMMdd");

                Console.WriteLine("{0}", tostring);

                number = int.Parse(tostring);


            }

......

und dann:

em Ausführung das date_string.exe Programm und spreichern das Ergebnis in einem temporalen  temp.txt File

C:\temp\date_string.exe "current" > temp.txt


rem festelegen die variable datum

set /p datum= < temp.txt

echo Backup Folder Dates to be exported...

echo  %datum%


rem entfernen das temp.txt File

del temp.txt


C:\temp\date_string.exe "previous" > temp.txt

set /p datum1= < temp.txt

echo %datum1%

del temp.txt

....

Meinst du nicht auch?

Gruß,

Iliya

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...