Ambientes de linha de comando, como Prompt de Comando do Windows e PowerShell , usam espaços para separar comandos e argumentos - mas nomes de arquivos e diretórios também podem conter espaços. Para especificar um caminho de arquivo que contenha um espaço, você precisa "escapar" dele.
Por que escapar dos espaços?
“Escape” ou escapar de um personagem muda seu significado. Por exemplo, escapar de um espaço fará com que o shell o trate como um caractere de espaço em vez de um caractere especial separando os argumentos da linha de comando.
Suponha que você tenha um arquivo de texto e queira visualizar o conteúdo. Você pode fazer isso com o comando type. Supondo que o arquivo de texto esteja localizado em C:\Test\File.txt , o seguinte comando no prompt de comando exibirá seu conteúdo:
type C:\Test\File.txt
Agora, e se você tiver o mesmo arquivo em C:\Test Folder\Test File.txt ? Se você tentar executar o comando abaixo, não funcionará - os espaços no caminho do arquivo estão atrapalhando.
type C:\Test Folder\Test File.txt
A linha de comando pensa que você está tentando procurar um arquivo chamado C:\Test e diz que “ não é possível encontrar o caminho especificado ” (não é possível encontrar o caminho especificado).

A linha de comando não consegue encontrar o caminho especificado
3 maneiras de escapar dos espaços em branco no Windows
Existem três maneiras diferentes de escapar de caminhos de arquivos no Windows:
- Colocando o caminho (ou partes dele) entre aspas duplas ("").
- Adicionando um caractere circunflexo (^) antes de cada espaço. (Isso funciona apenas no prompt de comando/CMD e não parece funcionar com todos os comandos).
- Adicionando um caractere de acento (`) antes de cada espaço. (Isso só funciona no PowerShell, mas sempre funciona).
Este artigo irá guiá-lo como usar cada método.
Coloque o caminho entre aspas
A maneira padrão de garantir que o Windows lide corretamente com um caminho de arquivo é colocá-lo entre aspas duplas (""). Por exemplo, com o comando de exemplo acima, o comando seria executado da seguinte forma:
type "C:\Test Folder\Test File.txt"
Na verdade, você pode colocar partes do caminho entre aspas, se desejar. Por exemplo, digamos que você tenha um arquivo chamado File.txt nessa pasta. Você pode executar o seguinte:
type C:\"Test Folder"\File.txt
No entanto, isso não é necessário. Na maioria dos casos, você pode simplesmente usar aspas em todo o caminho.
Esta solução funciona tanto no ambiente tradicional de prompt de comando (CMD) quanto no Windows PowerShell.
![Como escapar de espaços em caminhos de arquivos na linha de comando do Windows Como escapar de espaços em caminhos de arquivos na linha de comando do Windows]()
Coloque o caminho entre aspas
Use o caractere circunflexo (^) antes de um espaço
No prompt de comando, o caractere circunflexo (^) teoricamente permitirá que você escape de espaços. Basta adicioná-lo antes de cada espaço no nome do arquivo. (Você encontrará esse caractere na linha numérica do teclado. Para inserir o caractere circunflexo, pressione Shift + 6 ).
O problema é que embora seja eficaz, nem sempre funciona. O tratamento desse personagem pelo prompt de comando é estranho.
Por exemplo, com o comando de amostra, se você executar o seguinte, o comando não funcionará:
type C:\Test^ Folder\Test^ File.txt
![Como escapar de espaços em caminhos de arquivos na linha de comando do Windows Como escapar de espaços em caminhos de arquivos na linha de comando do Windows]()
O comando acima não funcionará
Por outro lado, se você tentar abrir seu arquivo diretamente inserindo seu caminho no prompt de comando, poderá descobrir que o caractere circunflexo escapará do espaço corretamente:
C:\Test^ Folder\Test^ File.txt
![Como escapar de espaços em caminhos de arquivos na linha de comando do Windows Como escapar de espaços em caminhos de arquivos na linha de comando do Windows]()
O caractere circunflexo escapa dos espaços em branco corretamente
Então, quando isso funciona? Com base em pesquisas, parece funcionar apenas com alguns aplicativos. As coisas podem mudar dependendo do comando que você está usando. O tratamento desse personagem pelo prompt de comando é estranho. Tente com qualquer comando que você esteja usando, pode ou não funcionar.
Para consistência, o artigo recomenda usar aspas duplas no prompt de comando ou mudar para o PowerShell e usar o método abaixo.
Use caracteres acentuados (`)
O PowerShell usa o caractere acentuado (`) como caractere de escape. Basta adicioná-lo antes de cada espaço no nome do arquivo. (Você encontrará esse caractere acima da tecla Tab e abaixo da tecla Esc do teclado).
type C:\Test` Folder\Test` File.txt
Cada caractere acentuado exige que o PowerShell escape do caractere seguinte.
Observe que isso só funciona em ambientes PowerShell. Você terá que usar o caractere circunflexo no prompt de comando.
![Como escapar de espaços em caminhos de arquivos na linha de comando do Windows Como escapar de espaços em caminhos de arquivos na linha de comando do Windows]()
Use caracteres acentuados (`)
Se você estiver familiarizado com sistemas operacionais do tipo UNIX, como Linux e macOS, talvez esteja familiarizado com o uso do caractere de barra invertida (\) antes de um espaço para escapar dele. O Windows usa esse caractere para caminhos de arquivos regulares, por isso não funciona. Os caracteres de acento circunflexo (^) e acento (`) são a versão da barra invertida para Windows, dependendo do shell de linha de comando que você está usando.
Ver mais: