Los entornos de línea de comandos como el símbolo del sistema de Windows y PowerShell usan espacios para separar comandos y argumentos, pero los nombres de archivos y carpetas también pueden contener espacios. Para especificar una ruta de archivo con un espacio en su interior, necesitará «escapar».
«Escapar» de un personaje cambia su significado. Por ejemplo, escapar de un espacio hará que el shell lo trate como un carácter de espacio estándar en lugar de un carácter especial que separa los argumentos de la línea de comandos.
Por ejemplo, supongamos que tiene un archivo de texto cuyo contenido desea ver. Puedes hacerlo con el comando type. Suponiendo que el archivo de texto está en C:\Test\File.txt
, el siguiente comando en el símbolo del sistema mostrará su contenido:
escriba C: \ Test \ File.txt
Excelente. Ahora bien, ¿qué pasa si tienes el mismo archivo en C:\Test Folder\Test File.txt
? Si intenta ejecutar el siguiente comando, no funcionará: esos espacios en la ruta del archivo se interponen.
escriba C: \ Carpeta de prueba \ Archivo de prueba.txt
La línea de comando cree que estás intentando buscar un archivo llamado C:\Test
y dice que «no se puede encontrar la ruta especificada».
Hay tres formas diferentes de escapar de las rutas de archivo en Windows:
Le mostraremos cómo utilizar cada método.
La forma estándar de asegurarse de que Windows trate una ruta de archivo correctamente es encerrarla entre comillas dobles (”). Por ejemplo, con nuestro comando de muestra anterior, simplemente ejecutaríamos lo siguiente:
escriba "C: \ Carpeta de prueba \ Archivo de prueba.txt"
De hecho, puede encerrar partes de la ruta entre comillas si lo prefiere. Por ejemplo, digamos que tiene un archivo llamado File.txt en esa carpeta. Podrías ejecutar lo siguiente:
escriba C: \ "Carpeta de prueba" \ File.txt
Sin embargo, eso no es necesario; en la mayoría de los casos, puede usar comillas en toda la ruta.
Esta solución funciona tanto en el entorno tradicional de símbolo del sistema (CMD) como en Windows PowerShell.
En el símbolo del sistema, el carácter de intercalación (^) le permitirá escapar de los espacios, en teoría. Simplemente agréguelo antes de cada espacio en el nombre del archivo. (Encontrará este carácter en la fila de números de su teclado. Para escribir el carácter de intercalación, presione Mayús + 6).
Aquí está el problema: si bien esto debería funcionar, y a veces lo hace, no funciona todo el tiempo. El manejo del símbolo del sistema de este personaje es extraño.
Por ejemplo, con nuestro comando de muestra, ejecutaría lo siguiente y no funcionaría:
escriba C: \ Prueba ^ Carpeta \ Prueba ^ Archivo.txt
Por otro lado, si intentamos abrir nuestro archivo directamente escribiendo su ruta en el símbolo del sistema, podemos ver que el carácter de intercalación escapa de los espacios correctamente:
C: \ Prueba ^ Carpeta \ Prueba ^ Archivo.txt
Entonces, ¿cuándo funciona? Bueno, según nuestra investigación, parece funcionar con algunas aplicaciones y no con otras. Su millaje puede variar según el comando que esté utilizando. El manejo del símbolo del sistema de este personaje es extraño. Pruébelo con cualquier comando que esté usando, si está interesado, puede que funcione o no.
Para mantener la coherencia, le recomendamos que se ciña a las comillas dobles en el símbolo del sistema, o cambie a PowerShell y utilice el método de acento grave a continuación.
PowerShell usa el carácter de acento grave (`) como carácter de escape. Simplemente agréguelo antes de cada espacio en el nombre del archivo. (Encontrará este carácter encima de la tecla Tab y debajo de la tecla Esc en su teclado).
escriba C: \ Test` Folder \ Test` File.txt
Cada carácter de acento grave le dice a PowerShell que escape el siguiente carácter.
Tenga en cuenta que esto solo funciona en el entorno de PowerShell. Tendrá que usar el carácter de intercalación en el símbolo del sistema.
Si está familiarizado con sistemas operativos similares a UNIX como Linux y macOS, es posible que esté acostumbrado a usar el carácter de barra invertida (\) antes de un espacio para escapar. Windows usa esto para rutas de archivo normales, por lo que no funciona – los caracteres de acento grave (^) y acento grave (`) son la versión de Windows de la barra invertida, dependiendo del shell de línea de comandos que esté usando.
El mundo del gaming ha experimentado un crecimiento exponencial en los últimos años. La…
Stokkete/Shutterstock.com ¿Sigue utilizando una unidad flash USB obsoleta para almacenar sus archivos? ¿Por qué no…
LG Los fabricantes siempre intentan mejorar el rendimiento de imagen de los monitores. Como resultado,…
Patty Chan/Shutterstock.com Si cree en lo que ve en las redes sociales, puede pensar en…
Seksan.TH/Shutterstock.com Los servicios de suscripción como Netflix, Game Pass y Spotify nos permiten consumir tantas…
fatmawati achmad zaenuri/Shutterstock El acceso a Internet, oa cualquier otra red, se rige por la…