- 【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net
636 :デフォルトの名無しさん[sage]:2016/10/12(水) 16:12:00.02 ID:YqqdfgOM - >>634
*.mkvで処理と*.flvで処理と2行for文を書くという意味じゃないかな? for /f "tokens=*" %%a in ('dir /b *.mkv *.flv') do 〜 とか dir /b *mkv>files.tmp dir /b *.flv>>files.tmp for /f "tokens~*" %%a in (files.tmp) do 〜 del files.tmp とか色々とか色々と出来るよ
|
- 【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net
646 :デフォルトの名無しさん[sage]:2016/10/12(水) 17:54:18.24 ID:YqqdfgOM - >>642
本当にそんな表示なのか? 上の IF 1695606 == 0 ( を書いてるということはbatの展開された実行ステートメントを表示してるだけじゃないのか? 正確には IF 1695606 == 0 ( ECHO "F:\TEST\file.txt" はファイルサイズが 1695606 で、0 なので 削除します。 REM DEL F:\TEST\file.txt ) と4行表示されただけなんじゃないの? それと、半角空白の存在するファイル名があったらエラーになるよ "tokens=*"とか"delims="をつけて、引数は""で囲んで渡すようにした方がいい (さらに^とかの文字もファイル名に含まれてる可能性があるなら引数渡しは諦めて環境変数で渡すようにする)
|
- 【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net
648 :デフォルトの名無しさん[sage]:2016/10/12(水) 18:07:46.52 ID:YqqdfgOM - >>643
もし何らかの理由で""を付いたままで代入しなくてはいけないのなら、その後で取ることは出来る set hoge=%hoge:"=% とか set hoge=%hoge:~1,-1% とか まあ後者は"が付いているかどうかチェックした方がいいけど if ^%hoge:~0,1% equ ^" set hoge=%hoge:~1,-1%
|
- 【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net
652 :デフォルトの名無しさん[sage]:2016/10/12(水) 18:44:53.26 ID:YqqdfgOM - >>651
そんな大量のファイルは無いので定かではないけど、多分バッファが溢れてるんじゃないかと思う 一旦ファイルに書き出したらどうだろ? dir /a-d /s /b>list.tmp for /f %%F in (list.tmp) do
|
- 【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net
658 :デフォルトの名無しさん[sage]:2016/10/12(水) 20:31:06.50 ID:YqqdfgOM - >>654
大昔DOSにあったansi.sysのようにエスケープシーケンスが使えたら可能なんだけどね 噂じゃwinsows10でエスケープシーケンスが使えるようになったとかの話もあるけど真偽のほどはどうなんだろ
|