|
915) for /L %N in (,,) do ... で01,02,...を生成 トポロ 2003/11/27(木) 22:18 |
|
Win2KのDosプロンプトで連番フォルダをそれぞれ圧縮するためにforの反復を使いたいのですが今のやり方だとfor文が二つ必要になります。変数に01,02,を生成する方法はありませんか? 『今のやり方』 for /L %N in (1,1,9) do ( WinRAR a c:test0%N\*.* c:0%N & Pause ) for /L %N in (10,1,99) do ( WinRAR a c:test%N\*.* c:%N & Pause ) |
|
917) Re:for /L %N in (,,) do ... で01,02,...を生成 ラシャン 2003/11/28(金) 00:10 |
|
変数に01,02を生成する方法ではないのですが 連番フォルダを圧縮するのを1回でやりたいということなら こういうのはどうでしょう? 以下のような01~99の連番を書いたファイルを用意して renban.txt---------- 01 02 03 ~~ 中略 ~~ 97 98 99 -------------------- それを使って for /F %N in (renban.txt) do ( WinRAR a c:test%N\*.* c:%N & Pause ) みたいなことをやったらできるかも。。。 出来なかったらすいません(^^; |
|
918) Re:for /L %N in (,,) do ... で01,02,...を生成 ふぇむ 2003/11/28(金) 00:24 |
|
>Win2KのDosプロンプトで連番フォルダをそれぞれ圧縮するためにforの反復を使いたいのですが今のやり方だとfor文が二つ必要になります。変数に01,02,を生成する方法はありませんか? 単純にはたとえば以下のような感じで。 @echo off setlocal for /L %%z in (1,1,99) do ( call :MAIN %%z ) goto :end :MAIN set __COUNT_STR_BASE=0%~1 set __COUNT_STR=%__COUNT_STR_BASE:~-2% echo %__COUNT_STR% goto :eof :end endlocal しかし、もともとの目的 >Win2KのDosプロンプトで連番フォルダをそれぞれ圧縮する ということでは、連番を生成しなくても環境にあるものをそのまま拾うほうがよいのでは? |
|
998) Re:for /L %N in (,,) do ... で01,02,...を生成 commander 2004/01/17(土) 03:06 |
|
参考までに。 for /L %i in (5,1,15) do (if %i LSS 10 (echo temp-0%i) else (echo temp-%i)) temp-05 temp-06 temp-07 temp-08 temp-09 temp-10 temp-11 temp-12 temp-13 temp-14 temp-15 変数iが10より小さい場合は0を付けます。 for /L %N in (1,1,99) do (if %N LSS 10 (WinRAR a c:test0%N\*.* c:0%N & Pause) else (WinRAR a c:test%N\*.* c:%N & Pause)) こうすれば動くのかな。 |