Zum Inhalt springen

Programm in Batch-Datei per Umgebungsvariable aufrufen


Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben

Perfekt! Jetzt funktioniert es.

Ich brauche den datumstring in diesem Format weil ich es weiter in dem Programm benutzen. :)

Vielen Dank,

Iliya

Geschrieben
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

Geschrieben

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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...