【发布时间】:2020-09-18 03:03:40
【问题描述】:
我在尝试 Xcopy 文件时收到 0 个文件已复制消息。 请注意,我通过指定确切的源路径成功地做到了这一点,如下所示:
xcopy /y %USERPROFILE%\Desktop\WinXTweak\program1.exe %WINDIR%\
xcopy /y %USERPROFILE%\Desktop\WinXTweak\program2.exe %WINDIR%\
xcopy /y %USERPROFILE%\Desktop\WinXTweak\program3.exe %WINDIR%\
当然,这只有在 WinXTweak 文件夹在桌面上时才有效。我希望能够将它复制到 USB 驱动器或我 PC 中的任何位置并运行它。批处理文件的位置也在 WinXTweak 文件夹中。我不知道该怎么办。我尝试了以下方法,但确实失败了。
xcopy /y program1.exe %WINDIR%\
xcopy /y program2.exe %WINDIR%\
xcopy /y program3.exe %WINDIR%\
提前谢谢大家,
【问题讨论】:
-
您正在使用
%WINDIR%作为您的目标目录。即使您要使用更现代的替代旧变量%SYSTEMROOT%,该目录也可能是受保护的位置。当你用不同的目录测试它时会发生什么?或者,在同一位置但以“管理员身份”运行脚本? -
在您的示例中,需要管理员权限,如@Compo 所说。除此之外,您的示例应该可以工作,但请尝试使用
xcopy "<source>" "<destination>" /y之类的引号将源目录和目标目录括起来 -
为了在任何有效位置执行命令,请结合在 Dir 命令上运行的 For /F` 循环,例如:
For %%I in ("program1.exe" "program2.exe" "program3.exe") Do For /F "Delims=" %%F in ('dir /b %%I /s') Do xcopy /y "%%~F" "%Destination%"
标签: windows file batch-file cmd xcopy