Re: [問題] Dos AutoBatch
※ 引述《TwoDemon (店小二)》之銘言:
: 如果將一個目錄下一次移10個檔至另一個目錄。
: 我原來的寫法是全移: move D:\test1\*.txt C:\test2\
: 但現在要改成一次最多只移10個檔。
: 但,要怎麼寫成一個完整可以運作的script,希望版上高手幫幫忙,謝謝!
回神才想到,其實可用類似關聯資料庫的集合概念: 想移的=全部-不要的.
你要先知道以下指令的用法:
* move 或 copy 或 xcopy
* dir /O排序與萬用字元過濾方法
* for /F "usebackq skip=10"對dir輸出結果做剖析
程式寫法是:
1. 調整dir寫法,使列出檔案包含你想要移動的檔名,
dir /B只會列出檔名,而/O可能可以將你要搬的檔案排序在最前面,
或者用萬用字元技巧讓想搬的排到最前面.
2. 用copy或xcopy(最好別用move,也許搬不盛反而先幫你砍掉檔案就糟了)
把第1步篩選出來的檔案弄到目的地.
3. 在目的地,用同樣的dir方式,舉例為dir /B,寫下列命令:
for /F "usebackq skip=10" %%s in (`dir /b`) do del %%s
特別注意在in右邊括號中寫的是命令,因此要用單反引號包起來.
這行命令的意思是,在dir列出的檔名中,跳過10筆,剩下的一筆一筆都刪除.
--
我很贊同你的說明檔.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.112.228.167
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 8 篇):