作者: davi
日時: 2007/11/01(02:28)
みなさん  <  こん??は でび です

例によって、レベル引き下げに貢献します。

GIFアニメーションで遊ぼうと思って、連番コピーをする必要が出ました。
んで、この程度ならバッチでしょ。と…。

ん〜、for in do ってあったよなぁ、とかすかな記憶を頼りに
以下のようにしました。

---------------------------------
@ECHO OFF
: 連番コピー
set /p IN=元ファイル名の拡張子以外の部分を指定してください:
set /p OUT=枝番を半角数字で指定してください:
if "%IN%"=="" goto end
if "%OUT%"=="" goto end

for /l %%E in (1,1,%OUT%) do copy %IN%.bmp %IN%-%%E.bmp > nul
:end
---------------------------------

でも、これだと枝番の桁数揃えができない。

SET /?で、単項演算子なるものを見つけたのですが、これ、どう使うんでしょ?
こんなにょろ、今まで使ったことないにょろ。
HELPには"!"と"_"の説明も見あたらないようですし。むぅ。

んで、

set /p PAD=枝番の桁数を半角数字1文字で指定してください:
if "%PAD%"=="" goto end

を追加して

for /l %%E in (1,1,0000000000%OUT%) do copy %IN%.bmp %IN%-%E:~-%PAD%%.bmp > nul

ではダメみたい。
OUTの前に付けても数値として処理されているんでしょうねえ。

知らないうちにいろいろ増強されていてCMD.EXEも侮りがたし。

結局、GIFアニメーションそっちのけ、ってどうよ。> 自分

でび  http://homepage1.nifty.com/davi/