Sådan oprettes batch-fil i Windows ved hjælp af 'start' med en sti og kommando med mellemrum

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg skal oprette en batchfil, der starter flere konsolprogrammer i en Windows .cmd-fil. Dette kan gøres ved hjælp af startkommandoen.


Kommandoen har dog en sti i den. Jeg skal også passere paramatere, der også har mellemrum. Hvordan gør man det?


F.eks. batch-fil


start "c:path with spacesapp.exe" param1 "param with spaces"

Bedste reference


Faktisk har hans eksempel ikke fungeret (selvom jeg først troede det også). Baseret på hjælp til kommandoen Start er den første parameter navnet på det nyoprettede kommandoprompt-vindue, og det andet og tredje skal være stien til applikationen og dens parametre. Hvis du tilføjer endnu en '' før sti til appen, skal den arbejde (i det mindste gjorde det for mig). Brug noget som dette:


start "" "c:path with spacesapp.exe" param1 "param with spaces"


Du kan ændre det første argument til at være, hvad du vil have, titlen på den nye kommandoprompt skal være. Hvis det er en Windows-app, der oprettes, vil kommandoprompten ikke blive vist, og titlen bliver vundet.

Andre referencer 1


Det er korrekt at undslippe stien med apostrofer, men startkommandoen tager en parameter indeholdende titlen på det nye vindue. Denne parameter detekteres af de omkringliggende apostrofer, så din ansøgning udføres ikke.


Prøv noget som dette:


start "Dummy Title" "c:path with spacesapp.exe" param1 "param with spaces"

Andre referencer 2


Interessant synes det at i Windows Embedded Compact 7, kan du ikke angive en titel streng. Den første parameter skal være kommandoen eller programmet.

Andre referencer 3


start "" "c:path with spacesapp.exe" "C:path parameterparam.exe"


Da jeg brugte ovennævnte forslag, har jeg fået:



  'c: \ path' genkendes ikke en intern eller ekstern kommando, betjeningsprogram eller batchfil.



Jeg tror, ​​at anden qoutation mark forhindrer kommando til at køre. Efter nogle søgninger under løsning gemme min dag:


start "" CALL "c:path with spacesapp.exe" "C:path parameterparam.exe"

Andre referencer 4


Du skal bruge noget som dette:



  start/d C: \ Windows \ System32 \ calc.exe

  
  start/d 'C: \ Programmer \ Mozilla

  
  Firefox 'firefox.exe start/d

  
  'C: \ Program Files \ Microsoft

  
  Office \ Office12 'EXCEL.EXE



Også jeg rådgiver dig om at bruge speciel batch-filer editor - Dr.Batcher [7]

Andre referencer 5


Omkring stien og argumentet med mellemrum inde i citater som i dit eksempel skal gøre. Kommandoen skal muligvis håndtere citaterne, når parametrene sendes til den, men det er normalt ikke en big deal.

Andre referencer 6


Jeg undersøgte med succes, og det virker fint for mig. Mit krav er at sende en email ved hjælp af vbscript, som skal ringes fra en batch-fil i Windows. Her er den nøjagtige kommando, jeg bruger uden fejl.


START C:WindowsSystem32cscript.exe "C:Documents and SettingsakapoorDesktopMail.vbs"