[英]CMD - Move files to the folders dependent on the list?
我有一个这样的内容列表(list.txt):
C:\\ Users \\ Computers \\ 39323227
C:\\ Users \\ Computers \\ 39323227.zip
C:\\ Users \\ Computers \\ 39328635
C:\\ Users \\ Computers \\ 39328635.zip
C:\\ Users \\ Computers \\ 39329113.zip
C:\\ Users \\ Computers \\ 39329288.zip
C:\\ Users \\ Computers \\ 39331075
C:\\ Users \\ Computers \\ 39331075.zip
C:\\ Users \\ Computers \\ 39331386.zip
C:\\ Users \\ Computers \\ 39904282
C:\\ Users \\ Computers \\ 39904282.zip
C:\\ Users \\ Computers \\ 39905798
C:\\ Users \\ Computers \\ 39905798.zip
C:\\ Users \\ Computers \\ 39906307.zip
父文件夹中的所有文件和创建的文件夹都像这样:
C:\\ Users \\ Computers \\ 39323227
C:\\ Users \\ Computers \\ 39328635
C:\\ Users \\ Computers \\ 39331075
C:\\ Users \\ Computers \\ 39904282
C:\\ Users \\ Computers \\ 39905798
C:\\ Users \\ Computers \\ 39323227.zip
C:\\ Users \\ Computers \\ 39328635.zip
C:\\ Users \\ Computers \\ 39329113.zip
C:\\ Users \\ Computers \\ 39329288.zip
C:\\ Users \\ Computers \\ 39331075.zip
C:\\ Users \\ Computers \\ 39331386.zip
C:\\ Users \\ Computers \\ 39904282.zip
C:\\ Users \\ Computers \\ 39905798.zip
C:\\ Users \\ Computers \\ 39906307.zip
是否可以编写CMD来将文件移动到文件夹,如下所示? :
C:\\ Users \\ Computers \\ 39323227 \\ 39323227.zip
C:\\ Users \\ Computers \\ 39328635 \\ 39328635.zip
C:\\ Users \\ Computers \\ 39328635 \\ 39329113.zip
C:\\ Users \\ Computers \\ 39328635 \\ 39329288.zip
C:\\ Users \\ Computers \\ 39331075 \\ 39331075.zip
C:\\ Users \\ Computers \\ 39331075 \\ 39331386.zip
C:\\ Users \\ Computers \\ 39904282 \\ 39904282.zip
C:\\ Users \\ Computers \\ 39905798 \\ 39905798.zip
C:\\ Users \\ Computers \\ 39905798 \\ 39906307.zip
如果没有,您是否可以建议使用任何软件来帮助我解决此问题?
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /f "delims=" %%a IN (q22540287.txt) DO (
IF "%%~xa"==".zip" (
rem ECHO MD "!destdir!\"
ECHO MOVE "%%a" "!destdir!\"
) ELSE (SET "destdir=%%~dpna")
)
GOTO :EOF
我使用了一个名为q22540287.txt
的文件, q22540287.txt
包含用于测试的数据。
所需的MOVE命令仅仅ECHO
编用于测试目的。 验证命令正确无误后 ,将ECHO MOVE
更改为MOVE
即可实际移动文件。 附加>nul
以禁止显示报告消息(例如, 1 file moved
)
我添加了一行以确保所选目标目录存在。 要激活该功能,请从MD...
行中移除REM
。 所需的MD命令只是ECHO
编用于测试目的。 验证命令正确无误后 ,将ECHO MD
更改为MD
以实际创建目录。 附加2>nul
以禁止显示错误消息(例如,当目录已存在时)
对我来说的结果(请注意,为了进行测试,我将C:
更改为U:
:)
MOVE "u:\Users\Computers\39323227.zip" "u:\users\computers\39323227\"
MOVE "u:\Users\Computers\39328635.zip" "u:\users\computers\39328635\"
MOVE "u:\Users\Computers\39329113.zip" "u:\users\computers\39328635\"
MOVE "u:\Users\Computers\39329288.zip" "u:\users\computers\39328635\"
MOVE "u:\Users\Computers\39331075.zip" "u:\users\computers\39331075\"
MOVE "u:\Users\Computers\39331386.zip" "u:\users\computers\39331075\"
MOVE "u:\Users\Computers\39904282.zip" "u:\users\computers\39904282\"
MOVE "u:\Users\Computers\39905798.zip" "u:\users\computers\39905798\"
MOVE "u:\Users\Computers\39906307.zip" "u:\users\computers\39905798\"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.