Copiando arquivos na linha de comando do Windows 7 - O sistema não pode encontrar o arquivo especificado

3

Eu sei que esta é uma pergunta estúpida que eu fiz arquivos em lote por anos e não tive tantos problemas ... Eu estou tentando fazer um arquivo de lote para copiar arquivos em uma pasta e para a vida de mim Eu não consigo fazer isso funcionar.

cd C:\Program Files (x86)\Steam\SteamApps\common\Skyrim\Data\
copy FifthGenerationMage.bsa C:\Users\Mark Collins\Desktop\DATA
copy FifthGenerationMage.bsl C:\Users\Mark Collins\Desktop\DATA
copy FifthGenerationMage.ckm C:\Users\Mark Collins\Desktop\DATA
copy FifthGenerationMage.esp C:\Users\Mark Collins\Desktop\DATA
pause

Isso deve funcionar, certo? Direito autoral? Quando eu faço assim, diz que a sintaxe está incorreta.

Quando faço isso:

copy C:\Program Files (x86)\Steam\SteamApps\common\Skyrim\Data\FifthGenerationMage.bsa C:\Users\Mark Collins\Desktop\DATA
copy C:\Program Files (x86)\Steam\SteamApps\common\Skyrim\Data\FifthGenerationMage.bsl C:\Users\Mark Collins\Desktop\DATA
copy C:\Program Files (x86)\Steam\SteamApps\common\Skyrim\Data\FifthGenerationMage.ckm C:\Users\Mark Collins\Desktop\DATA
copy C:\Program Files (x86)\Steam\SteamApps\common\Skyrim\Data\FifthGenerationMage.esp C:\Users\Mark Collins\Desktop\DATA

Diz "O sistema não pode encontrar o arquivo especificado".

Ambos devem funcionar. Eu não entendi.

    
por Mark Collins 24.11.2014 / 20:52

1 resposta

8

Se o seu caminho contiver espaços, será necessário incluir o caminho completo com " , desta forma:

copy "C:\Program Files (x86)\...\FifthGenerationMage.bsa" "C:\Users\...\DATA"

Também sugiro usar a variável para armazenar o caminho de destino e simplificar o script:

set skyrimdata="C:\Program Files (x86)\Steam\SteamApps\common\Skyrim\Data"
set target="C:\Users\Mark Collins\Desktop\DATA"

copy "%skyrimdata%\FifthGenerationMage.bsa" %target%
copy "%skyrimdata%\FifthGenerationMage.bsl" %target%
copy "%skyrimdata%\FifthGenerationMage.ckm" %target%
copy "%skyrimdata%\FifthGenerationMage.esp" %target%

Por que isso não funciona?

Olhe:

|     | 1         | 2    | 3               | 4            |
 copy   C:\Folder   with   spaces\file.txt   E:\Some folder

O sistema lê como:

1 - parâmetro 1 (para o comando de cópia - fonte 1)

2 - parâmetro 2 (para o comando de cópia - fonte 2)

3 - parâmetro 3 (para o comando de cópia - fonte 3)

4 - parâmetro 4 (para comando de cópia - alvo)

Não há C:\Folder , with , spaces\file.txt arquivos ou diretórios - e você recebe um erro:

The System cannot find the file specified.

    
por 24.11.2014 / 20:56