我需要将名为Profile.V2的目录中的所有文件夹移出目录,然后我要删除该目录。 我正在使用一个bat文件来做到这一点,这是完美的,除了当我正在移动的文件/文件夹的位置已经存在一个同名的文件夹,这会导致bat文件停止,并提示出现询问是否覆盖该文件夹。 移动命令有一个参数/ Y抑制提示,但是如果我把它放在我的bat文件中的“移动”它不起作用。 任何人都可以发现为什么,它应该去哪里?
@ECHO OFF H: cd Profile.V2 for /f "delims=" %%a in ('dir /b') do ( move "%%a" H:\ ) RD /S /QH:\Profile.V2
非常感谢史蒂夫
好。 我只是做“移动/ Y。H:\”据我可以告诉,这和for循环一样。
/ Y在移动之后立即移动并且必须是大写。
(正式的,不区分大小写,但是我从经验中知道,在某些系统上,它确实很重要,我从来没有设法找出原因。)
移动命令要求目标目录不存在 ,如果它存在 ,将会失败。 没有可以解决这个问题的命令行参数。
你可以考虑这个脚本:
@ECHO OFF H: xcopy h:\Profile.V2 h:\ /s/e/v/y RD /S /QH:\Profile.V2
Xcopy会将目录Profile.V2的内容复制到H:驱动器的根目录,并在不提示的情况下覆盖现有文件。 它将创buildprofile.v2中的所有目录,包括空的目录。
移动内容可能是一个较低的目标,因为你的RD命令删除目录没有validation。
有关命令行参数的解释,请键入:
xcopy /?