relacionadas:
How to list the elements of the path in a batch file?
How does FOR work?¿Cómo escribirías un archivo .bat o .cmd para eliminar un elemento de la RUTA?
¿Cómo escribirías un archivo por lotes o un archivo CMD para eliminar un elemento de la ruta? Se debe manejar con gracia:
- diferencias en caso
- nombres cortos y largos nombres
He hecho esto usando tr.exe pero es lento y complicado y utiliza archivos temporales, lo que hace aún más complicado.
I piensan que la respuesta es algo como esto:
setlocal
set tpath=""
set _path="%PATH:;=" "%"
for %%p in (%_path%) do (
call :KeepIfNotEqual %%p %elementToRemove%
)
endlocal & set path=%tpath%
... donde% elementToRemove% es el elemento de la ruta de eliminar. KeepIfUnique debería ser una subrutina que toma dos argumentos: nombres de directorio, los normaliza y agrega el primer argumento a tpath si es no igual a al segundo argumento (elementoToRemove).
Como dije, puedo hacer esto con tr.exe, pero ¿puedo hacerlo con solo los comandos incorporados en el shell de windows cmd.exe?
EDIT: Supongo que cuando llegue a eso, la pregunta es, ¿cómo hacer la conversión de casos en cmd.exe?
comando
Windows 7 incluye PowerShell 2, que con suerte le hará la vida mucho más fácil ... – TrueWill