我在目录中有一系列文件夹:
C:\directory\folderx C:\directory\foldery C:\directory\folderz etc.
这些文件夹总共大约有一千个,我的目标是移动大约一半。
我想将带有内容的文件夹移动到同一目录中的另一个文件夹中(使用文件listing.bat
来解析文件夹标题并对它们进行排序,因此我已经获得了{{}中感兴趣的文件夹的最终列表1}}格式)。
.txt
这样结果将如下所示:
C:\directory\folderq
我不确定以下批处理命令是否适用于移动多个文件夹,我实际上担心它只会导致C:\directory\folderq\folderx
C:\directory\folderq\foldery
C:\directory\folderq\folderz
etc.
错误地移入folderx
并且中止命令:
foldery
答案 0 :(得分:1)
要将C:\directory
中的所有文件夹移至C:\directory\folderq
,您可以使用以下内容:
for /D %%D in ("C:\directory\*.*") do (
if /I not "%%~nxD"=="folderq" (
move "%%~D" "C:\directory\folderq"
)
)
if
查询阻止尝试将folderq
移入自身。
如果您要在文本文件C:\directory\list.txt
中移动文件夹列表,请执行以下操作...:
C:\directory\folderx C:\directory\foldery C:\directory\folderz
...,你可以使用这段代码:
for /F "usebackq delims=" %%D in ("C:\directory\list.txt") do (
move "%%~D" "C:\directory\folderq"
)
答案 1 :(得分:0)
该命令不能以这种方式工作,您可以指定要移动的目录或文件,但不能指定多个目录。所以你可以为每个目录调用一次命令:
move C:\directory\folderx C:\directory\folderq
move C:\directory\foldery C:\directory\folderq
或者使用一个非常简单的脚本(moveDirs.bat
)来移动多个目录:
ECHO OFF
for /D %%x in (%*) do move "%%~x" "C:\directory\folderq"
您可以使用以下代码调用此脚本:moveDirs.bat C:\directory\folderx C:\directory\foldery
答案 2 :(得分:0)
假设您使用的是Windows,最简单的方法就是将目录拖放到新文件夹中。如果它位于同一个文件浏览器窗口中,则默认情况下会移动。如果没有,则在拖动时单击SHIFT键而不是副本。