Re: [請益] 檔案分類軟體

看板EZsoft (小軟體)作者 (阿里山神木村拓哉)時間18年前 (2008/06/14 23:28), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串2/2 (看更多)
借標題問一下,我也有類似的需求 我有一推檔案是以時間為檔名 例如 20080612_211726.jpg 20080612_232210.jpg 20080613_010543.jpg 想自動建立資料夾來分類,例如建立資料夾 20080612 來放 6/12 的檔案 20080613 來放 6/13 的檔案 我嘗試寫兩個批次檔來完成這項工作 以 20080612_211726.jpg 為例子,放在批次檔同一目錄 第一個 start.bat --------------------------- @echo off move2sub *.jpg 執行 move2sub.bat 目標檔 *.jpg --------------------------- 第二個: move2sub.bat --------------------------- for %%1 in (%*) do ( set filename=%%~n1 設變數 filename = 20080612_211726 md %filename:~0,8% 建立資料夾 20080612 move %%~nx1 %filename:~0,8%\ 將 20080612_211726.jpg 移到 20080612\ 下 ) --------------------------- 單檔測試都成功,但放進 for 之後就會有問題 我懷疑是 for 的用法以及 set 的用法不對 因為我都是從網路以及 Winodws 說明亂搜尋亂拼湊出來的 請教熟悉批次檔的板友能稍微指點一下嗎? 順便問 可否將兩個 bat 寫成一個就可以呢? 感謝~ -- 【帝江】 有神焉,其狀如黃囊,赤如丹火,六足四翼,渾敦無面目,是識歌舞,實為帝江也。 http://aycu31.webshots.com/image/14150/2006037017327500849_rs.jpg
原來是個會唱歌的的屁股 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.5.59 ※ 編輯: lcwmax 來自: 140.112.5.59 (06/14 23:30)

06/14 23:36, , 1F
for 為圈內要用變數的話你要開延遲環境變數延伸
06/14 23:36, 1F

06/14 23:36, , 2F
06/14 23:36, 2F

06/15 00:29, , 3F
感謝樓上 終於成功了
06/15 00:29, 3F
第二個: move2sub.bat 改成這樣 --------------------------- setlocal enabledelayedexpansion for %%1 in (%*) do ( set filename=%%~n1 設變數 filename = 20080612_211726 md !filename:~0,8! 建立資料夾 20080612 move %%~nx1 !filename:~0,8!\ 將 20080612_211726.jpg 移到 20080612\ 下 ) --------------------------- 其實原理好像不太懂 反正終於可以用了 T-T ※ 編輯: lcwmax 來自: 140.112.5.59 (06/15 00:32)
文章代碼(AID): #18K-Ev5q (EZsoft)
文章代碼(AID): #18K-Ev5q (EZsoft)