在 Windows 7 命令行中复制文件 - 系统找不到指定的文件

在 Windows 7 命令行中复制文件 - 系统找不到指定的文件

我知道这是一个愚蠢的问题,我已经制作批处理文件多年了,并没有遇到这么多麻烦...我正在尝试制作一个批处理文件来将文件复制到一个文件夹中,但我却无法让它工作。

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

这应该可以吧?复制,对吧?当我这样做时,它说语法不正确。

当我这样做时:

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

它显示“系统找不到指定的文件。”

这两种方法都应该有效。但我不明白。

答案1

如果您的路径包含空格 - 您必须用 将整个路径括起来",如下所示:

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

我还建议使用变量来存储目标路径并简化脚本:

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%

为何它不起作用?

看:

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

系统读取如下:

1 - 参数 1(用于复制命令 - 源 1)

2 - 参数 2(用于复制命令 - 源 2)

3 - 参数 3(用于复制命令 - 源 3)

4 - 参数 4(用于复制命令 - 源 4)

5 - 参数 5(用于复制命令 - 目标)

没有C:\Folder、、with文件spaces\file.txt或目录 - 并且您会收到错误:

该系统找不到指定的文件。

相关内容