Ho uno script batch che prende qualsiasi numero di argomenti (elenco dei file) ed esegue uno script PowerShell con la struttura seguente comando:
"%POWERSHELL%" -Command "%SCRIPT%" %*
%POWERSHELL%
è il percorso PowerShell.exe
e %SCRIPT%
è il mio script PowerShell che interpreta che riceve %*
come $args
. Il problema è che se passo qualcosa come il nome del file test$file.name
, PowerShell riceve test.name
, presumibilmente perché $file
viene interpretato come una variabile vuota.
Esiste un modo valido per evitare ogni argomento con virgolette singole o apici inversi dallo script batch o gestirlo in altro modo?
Funziona come un incantesimo - Non avevo idea di quella notazione del colon! –
Anche la carota '^' funzionerà? o è la virgoletta a sinistra un personaggio speciale in PowerShell? –
@ hayk.mart: '% VAR: S1 = S2%' sostituisce le stringhe nelle variabili, vedi 'help set' per ulteriori dettagli. –