-2

私はいくつかのファイルを持っている問題があります

07-01.jpg 07-02.jpg 07-48.jpgまで

08-01.jpg 08-02.jpg 08-48.jpgまで

....

37-01.jpg 37-02.jpg 37-03.jpg まで37-48.jpg

フォルダ 07, 08....,37 を作成してから、複数のファイル 07-01.jpg、07-02.jpg、07-03.jpg をフォルダ 07 に移動します。

08-01.jpg、08-02.jpg、08-03.jpg をフォルダー 08 に保存します。

……

37-01.jpg、37-02.jpg、37-03.jpg をフォルダ 37 などに

この問題を解決するためのバッチ スクリプトを入手できますか?

ありがとう

4

1 に答える 1

0

わかりました、まず第一に、もう少し調査を行うべきでした。私は個人的に、他の質問がこれにあることを知っています. 第二に、これまでのスクリットも示してください。これにより、それを改善できます。この解決策を試してください。うまくいかない場合は、エラー メッセージをコメントしてください。

コード:

@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

それうまくいかなければなりません。どちらも機能しない場合は、コマンド プロンプトでこれを実行して、エラー メッセージを表示してください。モナ

于 2013-09-25T06:36:34.400 に答える