igurov Geschrieben 6. August 2008 Geschrieben 6. August 2008 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 Zitieren
Amstelchen Geschrieben 6. August 2008 Geschrieben 6. August 2008 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 Zitieren
igurov Geschrieben 6. August 2008 Autor Geschrieben 6. August 2008 Perfekt! Jetzt funktioniert es. Ich brauche den datumstring in diesem Format weil ich es weiter in dem Programm benutzen. Vielen Dank, Iliya Zitieren
Amstelchen Geschrieben 7. August 2008 Geschrieben 7. August 2008 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 Zitieren
igurov Geschrieben 11. August 2008 Autor Geschrieben 11. August 2008 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 Zitieren
Empfohlene Beiträge
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.