我堅持一個想法,我只是不能離開地面,這是因爲我不明白FOR循環非常好。瞭解批/ D循環複製
本質上,我試圖做的是一個FOR循環,它將通過它的當前目錄和每個7個隨機數字的文件夾長,它將移動另一個文件到該目錄並調用它。我會在這裏畫一個圖。
- %CD%
- \ 1234567 \
- \ 2345671 \
- \ 3456712 \
- \發佈\
- filetomove.bat
所以他的目的是要移動的文件只會在編號的目錄中結束。
- %CD%
- \ 1234567 \ filetomove.bat
- \ 2345671 \ filetomove.bat
- \ 3456712 \ filetomove.bat
- \發佈\
- filetomove.bat
然後,一旦它在這些目錄中,它會在每個目錄中調用蝙蝠。
- %CD%
- CALL \ 1234567 \ filetomove.bat
- CALL \ 2345671 \ filetomove.bat
- CALL \ 3456712 \ filetomove.bat
- \發佈\
- filetomove.bat
如果某些文件存在或不存在,但我希望能夠先下移文件,那麼我會用IF語句使其更加複雜,以僅移動某個.bat文件。我想我可能會在IF聲明中表現出色。
有沒有人知道我想做什麼讓這成爲可能?我認爲我可以做的文件目錄像
FOR /D %%G in ("%cd%\[0-9][0-9][0-9][0-9][0-9][0-9][0-9]\") DO COPY...
但顯然這樣的東西不按我打算的方式工作。我其實可以看到,是查找每個文件的唯一方法是做這樣的事情......
FOR /D %%G in ("%cd%\*") DO ECHO %%G
,並讓代碼返回給我的目錄字符串。我做錯了什麼,只是不知道,或者只是不理解?
Windows命令行不會執行正則表達式,因此'[0-9]'是一個禁止行爲。你需要使用'findstr',它理解正則表達式。 – LinuxDisciple
這會走向正確的方向嗎? 'FOR/D %% G in(findstr ...)DO COPY ...' – Sero
這裏有很多缺陷。看看答案。我會添加它來解釋最奇怪的部分。 – LinuxDisciple