Veröffentlicht 6. August 200817 j 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
6. August 200817 j 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
6. August 200817 j Perfekt! Jetzt funktioniert es. Ich brauche den datumstring in diesem Format weil ich es weiter in dem Programm benutzen. Vielen Dank, Iliya
7. August 200817 j C:\Dokumente und Einstellungen\bla>set meindatum=%date:~-4,4%%date:~-7,2%%date:~0,2% C:\Dokumente und Einstellungen\bla>echo %meindatum% 20080807 warum einfach, wenns kompliziert geht? s'Amstel
11. August 200817 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.