[英]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.