ガイダンスが必要な箇所が2つあり、可能かどうかはわかりません。以下のコードは意図したとおりに動作しています。バッチファイルを使用してファイル名に基づいてフォルダとオプションのサブフォルダを作成する
@echo off
setlocal
set "sourcedir=C:\FILETEST"
pushd %sourcedir%
for /f "tokens=1,2*delims=-" %%a in (
'dir /b /a-d *-*--*.*'
) do if "%%c" neq "" (
md "%%a-%%b"
move "%%a-%%b--%%c" ".\%%a-%%b\"
)
popd
goto :eof
ファイル名は持っているため、上記のコードは、食料調達「 - 」と「 - 」、例えばファイル名「英国 - ロンドン - filename.doc」は「英国・ロンドン」フォルダを作成して置きますそこにファイルしてください。
しかし、ファイル名「EU-UK-London-Camden-filename.doc」のように、より詳細なファイル名もあります。以下のスクリプトは、この例のために働くと、「ロンドン・カムデン」サブフォルダそして、「EU-UK」用のフォルダを作成し、そこにファイルを置く:
@echo off
setlocal
set "sourcedir=c:\FILETEST"
pushd %sourcedir%
for /f "tokens=1,2,3,4*delims=-" %%a in (
'dir /b /a-d *-*--*-*--*.*'
) do if "%%e" neq "" (
md "%%a-%%b"
md "%%a-%%b/%%c-%%d"
move "%%a-%%b--%%c-%%d--%%e" ".\%%a-%%b\%%c-%%d\"
)
popd
goto :eof
私が午前最初の問題は、そのIでありますすべてのファイルを処理するために両方のスクリプトを使用する必要があり、時にはヒットとミスです。 2つのスクリプトをif ifステートメントと組み合わせる方法はありますか?
2番目の問題やその他の質問は、現在delimsが " - "に設定されています。別のデリムを追加することはできますか? "_"?
ご不明な点がありましたらお知らせください。
パノス