Cambiare la directory in un file batch con PowerShell

Devo cambiare la directory usando il file batch in PowerShell.

Diciamo che il file batch chiamato go.bat ha le due righe di codice. E sono in q: directory.

c: cd c:\abc\def 

Quando go.bat , sono ancora in q:

Mentre sono d'accordo sul fatto che ciò che si sta facendo dovrebbe funzionare, è ansible provare sempre il cmdlet Powershell "set-location". Fondamentalmente funziona allo stesso modo:

 set-location c:\abc\def 

Hai verificato che esiste C: \ abc \ def?

Sulla mia macchina partendo dall'unità E:

  • C:
  • cd C: \ windows \ system32

funziona perfettamente bene

Provare:

  cd /D c:\abc\def 

Utilizzare l'opzione / D per cambiare l'unità corrente in aggiunta a modificare la directory corrente di un'unità – anche se non so perchè quello che hai provato non funziona …

Se la cartella non esiste, verrà visualizzato un messaggio di errore:

 The system cannot find the path specified. 

È ansible visualizzare qualche aiuto nel command cd /? digitando cd /? .

Quando si esegue un file batch, PowerShell crea un process CMD.EXE per eseguire il file. Se si modifica la directory di lavoro all'interno del process CMD.EXE, ciò non influisce sulla directory di lavoro corrente di PowerShell. Questo è di progettazione.