在 Windows 中批量移动文件到另一个文件夹/目录?

在 Windows 中批量移动文件到另一个文件夹/目录?

我收到一条错误消息,提示无法将文件移动到单个文件。我没有尝试这样做。我尝试做的是将文件从一个文件夹移动到另一个文件夹(暂存),然后删除原始文件夹。

如果您可以向我展示一种更好的方法,因为我做得不正确。

这是我的.cmd文件:

Y:
move "Y:\ABC_files\*.js" "C:\Documents and Settings\user\Desktop\ABC_Stage\ABC_files\"
move "Y:\ABC_files\*.CSS" "C:\Documents and Settings\user\Desktop\ABC_Stage\ABC_files\"
move "Y:\ABC_files\*.png" "C:\Documents and Settings\user\Desktop\ABC_Stage\ABC_files\"
move "Y:\ABC_files\*.htm" "C:\Documents and Settings\user\Desktop\ABC_Stage\ABC_files\"
move "Y:\ABC_files\*.gif" "C:\Documents and Settings\user\Desktop\ABC_Stage\ABC_files\"
move "Y:\ABC.htm "C:\Documents and Settings\user\Desktop\ABC_Stage\"
rmdir "Y:\ABC_files"
C:\"Program Files"\"App X"\App-IDE.exe -r ABC4.run

答案1

就我个人而言,我更喜欢使用 XCOPY,因为它有更多有用的选项,特别是当您更改批处理文件,然后使用开关删除旧目录和文件时。

我还会删除引号,除非文件位置或名称中确实有空格。在您上次操作中,您实际上删除了一个引号,这可能会产生错误。您的最后一句话也是不正确的:您只在开关前的整个命令周围加上引号,而不是部分命令。我添加了我认为可能有用的开关:您可以在命令提示符下执行 xcopy /? 来查看每个开关的作用。我还想问一下,在您上次复制时,abc.htm 是否真的在根目录中……请检查并进行相应的编辑(如果需要)。最后,请确保编辑用户部分以反映您的用户名。我对您的最后一行一无所知,因为那是特定于应用程序的。

Y:
xcopy Y:\ABC_files\*.js "C:\Documents and Settings\user\Desktop\ABC_Stage\ABC_files\"
xcopy Y:\ABC_files\*.css "C:\Documents and Settings\user\Desktop\ABC_Stage\ABC_files\"
xcopy Y:\ABC_files\*.png "C:\Documents and Settings\user\Desktop\ABC_Stage\ABC_files\"
xcopy Y:\ABC_files\*.htm "C:\Documents and Settings\user\Desktop\ABC_Stage\ABC_files\"
xcopy Y:\ABC_files\*.gif "C:\Documents and Settings\user\Desktop\ABC_Stage\ABC_files\"
xcopy Y:\ABC.htm "C:\Documents and Settings\user\Desktop\ABC_Stage\"
rd Y:\ABC_files /s /q
del Y:\ABC.htm
"C:\Program Files\App X\App-IDE.exe" -r ABC4.run

答案2

有两种解决方案可以满足您的需求。如果您只想复制 .js、.css、.htm 等文件,请选择第一种解决方案。如果您真的想要源文件夹中的所有内容,请选择第二种解决方案。请注意,这两种方法都让您有机会在删除源文件之前确保一切正常。此外,它假定目标目录已经存在。

解决方案 1:

for %%f in (js css png htm gif) do (
copy Y:\ABC_files\*.%%f "C:\Documents and Settings\user\Desktop\ABC_Stage\ABC_files"
)

copy Y:\ABC.htm "C:\Documents and Settings\user\Desktop\ABC_Stage"

echo Check that your files copied correctly, then
pause
rmdir /s /q Y:\ABC_files
"C:\Program Files\App X\App-IDE.exe" -r ABC4.run

解决方案 2:

xcopy Y:\ABC_files\*.* "C:\Documents and Settings\user\Desktop\ABC_Stage\ABC_files" /s /e

echo Check that your files copied correctly, then
pause
rmdir /s /q Y:\ABC_files
"C:\Program Files\App X\App-IDE.exe" -r ABC4.run

答案3

尝试以下命令

move "C:\Documents and Settings\amitrajk\Desktop\New Folder\*.*" "C:\Documents and Settings\amitrajk\Desktop\New Folder\InFolder"

答案4

为什么不移动整个目录?这样,您只需一个命令即可复制所有文件,而无需清理任何内容。

Move Y:\ABC_Files "%userprofile%\desktop\staging"

注意:%userprofile% 是 C:\documents and settings\CurrentlyLoggedOnUser\ 的变量

在批处理文件中,键入以下命令来实现文件重定位:

Move /-y "Y:\ABC_Files" "%userprofile%\desktop\staging"

相关内容