iT邦幫忙

0

如何利用批次檔讀取現有資料夾並在其資料夾下一鍵增加子資資料夾

如何利用批次檔讀取現有資料夾並在其資料夾下一鍵增加幾個子資料夾

如 C:\PHOTO
底下有 C:\PHOTO\風景
C:\PHOTO\人像
C:\PHOTO\亂拍
C:\PHOTO\1100420-測試
.
.
.

利用批次檔一鍵即可以C:\PHOTO 底下的所有子資料夾增加
原有
C:\PHOTO\風景
欲增加
C:\PHOTO\風景\風景精選
C:\PHOTO\風景\風景一般
C:\PHOTO\風景\風景待刪

原有
C:\PHOTO\人像
欲增加
C:\PHOTO\人像\人像精選
C:\PHOTO\人像\人像一般
C:\PHOTO\人像\人像待刪

原有
C:\PHOTO\亂拍
欲增加
C:\PHOTO\亂拍\亂拍精選
C:\PHOTO\亂拍\亂拍一般
C:\PHOTO\亂拍\亂拍待刪

原有
C:\PHOTO\1100420-測試
欲增加
C:\PHOTO\1100420-測試\1100420-測試精選
C:\PHOTO\1100420-測試\1100420-測試一般
C:\PHOTO\1100420-測試\1100420-測試待刪

感謝您耐心的看完,並協助回答

2 個回答

1
japhenchen
iT邦大師 1 級 ‧ 2021-04-20 15:44:20
最佳解答

只能用windows內建的記事本(notepad)編輯,另存新檔選編碼成ANSI,不然保證亂碼也不會執行成功

@echo off
@for /d %%d in (*.*) do ( 
    IF NOT EXIST "%CD%\%%d\%%d-一般"  md "%CD%\%%d\%%d-一般" 
    IF NOT EXIST "%CD%\%%d\%%d-精選"  md "%CD%\%%d\%%d-精選" 
    IF NOT EXIST "%CD%\%%d\%%d-待刪"  md "%CD%\%%d\%%d-待刪"
)

批次檔放在你要加的子資料夾上層,如
C:\picture\20190822風景

就放在C:\picture裡,在裡面執行批次檔,我寫的例子,太懶就沒帶資料夾做參數

x721221 iT邦新手 5 級 ‧ 2021-04-20 16:49:18 檢舉

感謝japhenchen大的幫忙,幫我解決我所需要的

0
goldvip
iT邦研究生 1 級 ‧ 2021-04-20 15:20:42

試試看

@echo off
dir *. /b > tmp.txt
FOR /F "delims= tokens=1" %%i IN (tmp.txt) DO (
echo md "%%i%%idir1"
md "%%i%%idir1"
echo md "%%i%%idir2"
md "%%i%%idir2"
echo md "%%i%%idir3"
md "%%i%%idir3"
)
del tmp.txt
pause

x721221 iT邦新手 5 級 ‧ 2021-04-20 16:49:35 檢舉

感謝goldvip大的幫忙,幫我解決我所需要的

x721221 iT邦新手 5 級 ‧ 2021-04-20 17:01:51 檢舉

補充goldvip修正,md後加/ 使其能到對映的資料夾下
再次感謝您
@echo off
dir *. /b > tmp.txt
FOR /F "delims= tokens=1" %%i IN (tmp.txt) DO (
echo md "%%i%%idir1"
md "%%i/%%idir1"
echo md "%%i%%idir2"
md "%%i/%%idir2"
echo md "%%i%%idir3"
md "%%i/%%idir3"
)
del tmp.txt
pause

我要發表回答

立即登入回答