Bruce.です。
#スモークチーズはあるかい?
davi さんは書きました (2007/11/01 2: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
> ---------------------------------
>
> でも、これだと枝番の桁数揃えができない。
ひょっとしてこういうことをやりたい?
@echo off
setlocal ENABLEDELAYEDEXPANSION
for /l %%i in (1,1,20) do (
rem echo %%i
set x="000%%i"
echo !x:~-4,-1!
)
endlocal
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
> SET /?で、単項演算子なるものを見つけたのですが、これ、どう使うんでしょ?
> こんなにょろ、今まで使ったことないにょろ。
> HELPには"!"と"_"の説明も見あたらないようですし。むぅ。
_ ぢゃなくて - ぢゃないでしょうか。
んで、作用はCとおんなじ。
>set /a x=1+1
2
>set /a x=~1
-2
>set /a x=~0
-1
>set /a x=~1
-2
>set /a x=!1
0
>set /a x=!2
0
>set /a x=!0
1
>set /a x=1<<2
1<< の使い方が誤っています。
>set /a x="1<<2"
4
>set /a x="192>>3"
24
>set /a x="20&2"
0
>set /a x="20&4"
4
>set /a x="8|4"
12
>set /a x="64^32"
96
>
> んで、
>
> 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/
んじゃわしは寝るにょろ。
--
木村浩一
I thought what I'd do was, I'd pretend I was one of those deaf-mutes or should I?
mail kbk [at] kt.rim.or.jp
web www.kt.rim.or.jp/~kbk/zakkicho/
homepage3.nifty.com/farstar/