windows - hvordan man kører en cmd.exe-batchfil i en sub shell

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har en batch-fil, som jeg normalt bruger som denne:


 longjob.cmd >result.txt 2>&1


Dette virker fint, men scriptet ændrer biblioteket under udførelsen, hvilket efterlader min shell i den pågældende mappe - hvilket er en gener.


Er der en måde at køre kommandoen inden for en sub-shell - samtidig med at outputen kan fanges?


Jeg har forsøgt


cmd longjob.cmd >result.txt 2>&1


som bare sidder og venter på en exit kommando.


Også jeg forsøgte


start longjob.cmd >result.txt 2>&1


som kører scriptet, men i et nyt vindue og al output sendes til vinduet i stedet for filen.

Bedste reference


Prøve


CMD /C longjob.cmd >result.txt 2>&1


Ikke sikker på, hvordan det handler om omdirigering, men CMD/C lader dig fortælle CMD, hvad der skal køre, og at det skal gå ud, når det er færdigt. (CMD/K lader dig fortælle det at køre noget, men holde sig fast, når det er færdigt.) Det vil Genbrug det eksisterende konsolvindue, hvis det kører inden for en.

Andre referencer 1


Kommandoen call kan være, hvad du vil. [7]


dvs.


call longjob.cmd >result.txt 2>&1