如何使用批处理脚本将一些文件从一个目录移动到另一个目录?

How can i move some files from a directory to an other directory using a batch script?

我使用此命令使用批处理脚本将一些文件从一个目录移动到另一个目录:

xcopy "pippo\*.*" /s "C:\Program Files (x86)\pippo2"

它奏效了;它将文件夹 "pippo" 中的所有文件复制到文件夹 "pippo2"。

但是当我必须以管理员身份 运行 我的 .bat 文件时,它说它找不到名为 *.* 的文件,但是 *.* 指示所有扩展名的所有文件位于名为 "pippo" 的文件夹中! 那么,为什么它说找不到文件 *.* ,我的命令有什么问题?

这可能是您 运行 批处理文件的来源。当您提升到管理权限时,我相信默认位置是 C:\Windows\System32。尝试在批处理文件中使用完整文件路径。

这批将从目录 pippo relative 复制到您的当前目录。很可能,当 运行 作为管理员时的 current directory 不同于当 运行 作为 user 时的当前目录。

您可以通过在前后插入一些代码来检查:

echo %cd%
xcopy "pippo\*.*" /s "C:\Program Files (x86)\pippo2"
pause

(只是暂时的)

如果两种模式下显示的目录不同,那么您需要在管理员模式下更改目录或指定 pippo 的确切位置,

xcopy "c:\full\path\to\pippo\*.*" /s "C:\Program Files (x86)\pippo2"

试试这个,请指定完整路径。

xcopy "D:\yourSourceFolder\" /S "E:\yourDest\"

xcopy "D:\yourSourceFolder\*.*" /S "E:\yourDest\"

不要忘记 dest 文件夹中的尾部斜线,否则 dos 会认为您是该文件或文件夹。

谢谢。