No sé cómo describir exactamente lo que estoy tratando de hacer, pero aquí hay un ejemplo de archivo por lotes que demuestra lo que no puedo entender .:¿Cómo configuro una variable de entorno a un valor con espacios en un archivo por lotes?
Tengo un archivo por lotes. Dentro de ese archivo por lotes que estoy tratando de crear un directorio:
Set CopyFrom = %~dp0
if Exist "%ProgramFiles(x86)" (
Set TargetDir = %ProgramFiles(x86)%\My Directory Name has spaces
)
md %TargetDir%\NewSubFolder
copy %CopyFrom%\SourceFile.zip %TargetDir%\NewSubFolder
Mi archivo por lotes está fallando en la línea 4 con Set TargetDir =...
:
\My was unexpected at this time
Asumo esto es porque tengo los espacios en mi nombre de ruta Pensé que sólo podía envolver mi variables con citas:
Set TargetDir = "%ProgramFiles(x86)%\My Directory Name has spaces"
Pero luego cuando llegue a la línea que crea el directorio falla porque %TargetDir%
está ahora envuelto entre comillas. md "%TargetDir%"\NewSubFolder
¿Se puede arreglar esto o simplemente debo escribir un VBScript para resolver las cosas?
Gracias, eso fue solo el boleto, muy apreciado. – BobTheBuilder
Nunca se me ocurrió que podía envolver todo el artículo después de Poner entre comillas ... por supuesto, ¿no es exactamente intuitivo? – BobTheBuilder
No, no es intuitivo. (No mucho sobre la línea de comandos de Windows es - por eso cambié a powershell). Lo pienso así: ambos lados de "=" son un único argumento para el comando set. – zdan