こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

バッチの実行順序を教えて下さい。

for %%F in (南條愛乃・エオルゼアより愛をこめて*.mp3) do call :sub1 "%%F"
goto :EOF1

:sub1
set Bstr1=%1
set Bstr2=%Bstr1:~1,17%
set Bstr4=%Bstr1:~19,256%
set Bstr5=%Bstr2%_%Bstr4%
rename %Bstr1% "%Bstr5%

move "%Bstr5% "trush\%Bstr5%
ffmpeg -i "trush\%Bstr5% -ab 48k "%Bstr5%
goto :EOF1

:EOF1

投稿日時 - 2019-09-25 18:23:35

QNo.9660576

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

今回の質問で提示されたコードは
過日私が提示したコードと同じと思い
コメントしてしまいました。

今回の質問で提示されたコードの場合は
sub1の範囲は、
:sub1の次行から:EOF1の直前まです。

ただし、途中に
goto :EOF1 があるので、
EOF1の次行に進むものの(そこにコードがないので)
そもそも、call :sub1 と呼ばれた命令なので、
呼出元、つまり、
for %%F inの右側に戻ります。

投稿日時 - 2019-09-25 22:56:34

ANo.2

https://code-examples.net/ja/q/23c727d
が参考になると思います。

for %%F in
この右側は、sub1を該当するフィルがなくなるまで繰り返せの意。
無くなったら、goto :EOFを実行(つまり終了)

sub1の範囲はsub1:の次行からgoto :EOFの直前まで。


goto :EOF1
としたときの動作は未確認です。

投稿日時 - 2019-09-25 22:26:57

ANo.1

見覚えがあるので過去を調べてみたら
過日私が提示したコードのようです。
https://okwave.jp/qa/q9632768.html

で、
ファイルたちがどのような順番で処理されるのか?
という質問であれば
「多くの場合ファイル名順の可能性は高いが、厳密には不定」
です。(と思います)
↓にも同じようなコメントがあります。
https://social.technet.microsoft.com/Forums/windowsserver/ja-JP/50a5f977-a58c-4eba-9931-177da5183566/for124671251012531124891239112527124521252312489124591254012489?forum=windowsserver2003ja

VBAでポピュラーなFor Each構文も
https://www.exvba.com/2260/
のとおり不定です。

投稿日時 - 2019-09-25 20:39:53

補足

あ、そうじゃなくてsub1の範囲はどこまでか。
sub1を呼んでいるのにsub1の最後にgotoがあるのはなぜか?
sub1でgotoするならforの次にgotoしているのはなぜか?
です。

投稿日時 - 2019-09-25 21:21:57

お礼

>見覚えがあるので過去を調べてみたら
>過日私が提示したコードのようです。

あ、その節はお世話になりました。
定まっていないのですね。

システム設計の立場からすると非常に困るんですが、
某大手さんは「スペック」として逃げるんですよねw。

投稿日時 - 2019-09-25 21:10:09

あなたにオススメの質問