correlati:
How to list the elements of the path in a batch file?
How does FOR work?Come scriveresti un file .bat o .cmd per rimuovere un elemento dal PERCORSO?
Come vi scrivere un file batch o un file CMD per rimuovere un elemento dal percorso? Si deve gestire con garbo:
- differenze nel caso
- shortnames e nomi lunghi
Ho fatto questo utilizzando tr.exe ma è lento e complicato e utilizza i file temporanei, il che rende ancora più complicato.
io penso la risposta è qualcosa di simile:
setlocal
set tpath=""
set _path="%PATH:;=" "%"
for %%p in (%_path%) do (
call :KeepIfNotEqual %%p %elementToRemove%
)
endlocal & set path=%tpath%
... dove% elementToRemove% è l'elemento percorso da rimuovere. KeepIfUnique dovrebbe essere una subroutine che accetta due argomenti - i nomi di directory, li normalizza e aggiunge il primo argomento a tpath se è non uguale a al secondo argomento (elementToRemove).
Come ho detto, posso farlo con tr.exe, ma posso farlo solo con i comandi incorporati nella shell di windows cmd.exe?
EDIT: Credo che quando ci si arriva fino in fondo, la domanda è, come fare la conversione del caso in cmd.exe?
Windows 7 include PowerShell 2, che si spera renderà la tua vita molto più semplice ... – TrueWill