移动目录
Moving Directories
我创建了一个 txt 文件,其中包含我需要移动到新位置的目录列表。但是目录很多,只复制粘贴一些会很费时间。
如何使用此 txt 文件仅将那些目录移动到新文件夹?我还想保持每个目录的子目录完整。
谢谢。
@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir"
SET "destdir=U:\destdir"
FOR /f "delims=" %%a IN ('dir /b/ad "%sourcedir%\t w o" ') DO MOVE "%sourcedir%\t w o\%%a" "%destdir%\%%a"
GOTO :EOF
这是我将如何做的一个例子。 dir
命令生成 "%sourcedir%\t w o"
子目录的目录列表,这只是一个测试目录。 delims=
确保列表中的整个目录名称应用于 %%a
.
如果您在 afile.txt
中的列表类似于
u:\somedirectory to move
u:\someotherdirectory to move
u:\moveme
然后
FOR /f "delims=" %%a IN (afile.txt) DO ECHO(MOVE "%%a" "%destdir%\%%~nxa"
应该列出建议的动作。删除 echo(
以实际执行移动(检查后...)
我创建了一个 txt 文件,其中包含我需要移动到新位置的目录列表。但是目录很多,只复制粘贴一些会很费时间。
如何使用此 txt 文件仅将那些目录移动到新文件夹?我还想保持每个目录的子目录完整。
谢谢。
@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir"
SET "destdir=U:\destdir"
FOR /f "delims=" %%a IN ('dir /b/ad "%sourcedir%\t w o" ') DO MOVE "%sourcedir%\t w o\%%a" "%destdir%\%%a"
GOTO :EOF
这是我将如何做的一个例子。 dir
命令生成 "%sourcedir%\t w o"
子目录的目录列表,这只是一个测试目录。 delims=
确保列表中的整个目录名称应用于 %%a
.
如果您在 afile.txt
中的列表类似于
u:\somedirectory to move
u:\someotherdirectory to move
u:\moveme
然后
FOR /f "delims=" %%a IN (afile.txt) DO ECHO(MOVE "%%a" "%destdir%\%%~nxa"
应该列出建议的动作。删除 echo(
以实际执行移动(检查后...)