わかりました、まず第一に、もう少し調査を行うべきでした。私は個人的に、他の質問がこれにあることを知っています. 第二に、これまでのスクリットも示してください。これにより、それを改善できます。この解決策を試してください。うまくいかない場合は、エラー メッセージをコメントしてください。
コード:
@echo off
setlocal enabledelayedexpansion
Rem dont include the last backslash below
set topath="C:\users\...[path to parent directory]"
pushd %topath%
for /r %%f in (*.jpg) do (
Rem Remove the below line and the correspoonding bracket to make this include sub directories
if !topath! equ "%%~ff" (
for /f "delims=_" %%n in ("%%~f") do (
if not exist %%n md %%n
move %%f %%n
)))
それはうまくいくはずです。うまくいかない場合は、for /l
あなたがくれた数字に基づいて、ループを使って手動で実行する別のコードを作成できます。
手動スクリプト
特定の解決策は次のとおりです。
@echo off
pushd D:\case
for /l %%a in (1,1,9) do (
md 0%%a
for /l %%b in (1,1,9) do (
if exist 0%%a_0%%b.jpg (
move 0%%a_0%%b.jpg 0%%a
)))
for /l %%a in (10,1,37) do (
md %%a
for /l %%b in (10,1,48) do (
if exist %%a_%%b.jpg (
move %%a_%%b.jpg %%a
)))
popd
それはうまくいかなければなりません。どちらも機能しない場合は、コマンド プロンプトでこれを実行して、エラー メッセージを表示してください。モナ