拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。
※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。
前スレ
【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1424858999/
それ以前の過去スレ
%10 http://peace.2ch.net/test/read.cgi/tech/1374205515/
%9 http://toro.2ch.net/test/read.cgi/tech/1335015478/
%8 http://toro.2ch.net/test/read.cgi/tech/1315844420/
%7 http://hibari.2ch.net/test/read.cgi/tech/1298873550/
%6 http://hibari.2ch.net/test/read.cgi/tech/1277465356/
%5 http://pc12.2ch.net/test/read.cgi/tech/1242268171/
%4 http://pc12.2ch.net/test/read.cgi/tech/1229955189/
%3 http://pc11.2ch.net/test/read.cgi/tech/1217860043/
%2 http://pc12.2ch.net/test/read.cgi/tech/1197881068/
%1 http://pc11.2ch.net/test/read.cgi/tech/1178281991/
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/03/11(土) 13:47:11.66ID:2LSSeyH1
264デフォルトの名無しさん
2017/11/06(月) 19:12:27.47ID:Mdq5cGE3 echo,とか、echo;とかで
265デフォルトの名無しさん
2017/11/06(月) 23:15:25.56ID:RrRem/45 バッチファイルに渡された引数が1つなのか2つなのかを判定したいのですが
どのように記述すれば良いのでしょうか?
以下ではダメでした。
if defined %2 echo 引数は2つです else echo 引数は1つです
どのように記述すれば良いのでしょうか?
以下ではダメでした。
if defined %2 echo 引数は2つです else echo 引数は1つです
266デフォルトの名無しさん
2017/11/07(火) 01:14:40.14ID:xsgE2wk0 if not '%2=='
267デフォルトの名無しさん
2017/11/07(火) 07:09:27.79ID:4pg/kk0r >>264 ありがとう
for /f "delims=" %%i in (001.txt) do (
set "a=%%i"
setlocal enabledelayedexpansion
set "a=!a:"=!"
echo.!a!>>002.txt
endlocal
)
これで空行以外は完璧かな?
for /f "delims=" %%i in (001.txt) do (
set "a=%%i"
setlocal enabledelayedexpansion
set "a=!a:"=!"
echo.!a!>>002.txt
endlocal
)
これで空行以外は完璧かな?
268デフォルトの名無しさん
2017/11/07(火) 10:05:04.55ID:1287flJj >>262の奴で
"echo "を"echo."にするとダメなのに"echo,"にするとOKなのは何故なんだぜ?
今まで、ピリオドとカンマ、セミコロンに違いがあるとは思ってなかったから
ずっとピリオド使ってたのに
"echo "を"echo."にするとダメなのに"echo,"にするとOKなのは何故なんだぜ?
今まで、ピリオドとカンマ、セミコロンに違いがあるとは思ってなかったから
ずっとピリオド使ってたのに
269デフォルトの名無しさん
2017/11/07(火) 22:51:26.28ID:4pg/kk0r270デフォルトの名無しさん
2017/11/08(水) 00:22:28.07ID:X1Aytah6 for /f delims^=^ eol^=
272デフォルトの名無しさん
2017/11/08(水) 19:40:30.74ID:VTzaN0jn >>268
「,」「;」「=」は特別区切り文字だから。
例えば、C:\直下に「a」ってフォルダ作って
「b.cmd」
for /f %%a in ('echo,b') do echo,%%a
「b b.cmd」
echo;c %1
pause
のバッチ作成して、コマンドプロンプトで「C:\a」に移動してから
「b.cmd」を実行すると、()の中の「,」が消えた状態で表示される
「b b.cmd」を実行すると、「b.cmd」が実行される
「"b b.cmd"」を実行すると、「b b.cmd」が実行される
今度はファイル名を指定して実行で
cmd /c "C:\a\b b.cmd"
cmd /c "C:\a\b b.cmd" dを実行すると、pauseで止まるけど
cmd /c "C:\a\b b.cmd" "d"を実行すると、一瞬で終わる
cmd /c,"C:\a\b b.cmd" "d"なら動く
結構知られていないんだよね。
「,」「;」「=」は特別区切り文字だから。
例えば、C:\直下に「a」ってフォルダ作って
「b.cmd」
for /f %%a in ('echo,b') do echo,%%a
「b b.cmd」
echo;c %1
pause
のバッチ作成して、コマンドプロンプトで「C:\a」に移動してから
「b.cmd」を実行すると、()の中の「,」が消えた状態で表示される
「b b.cmd」を実行すると、「b.cmd」が実行される
「"b b.cmd"」を実行すると、「b b.cmd」が実行される
今度はファイル名を指定して実行で
cmd /c "C:\a\b b.cmd"
cmd /c "C:\a\b b.cmd" dを実行すると、pauseで止まるけど
cmd /c "C:\a\b b.cmd" "d"を実行すると、一瞬で終わる
cmd /c,"C:\a\b b.cmd" "d"なら動く
結構知られていないんだよね。
273デフォルトの名無しさん
2017/11/08(水) 22:40:59.50ID:ZHWfUJ7q >>270 ありがとう。完全に動作しました
そもそも eol の既定値が ; だとかヘルプに書いてないぞ
ちなみに "eol=" とすると eol が空になるのかと思ったら
今度は行頭に " があると読み飛ばすようです
何なんだ、これは。for 文のバグですかね
そもそも eol の既定値が ; だとかヘルプに書いてないぞ
ちなみに "eol=" とすると eol が空になるのかと思ったら
今度は行頭に " があると読み飛ばすようです
何なんだ、これは。for 文のバグですかね
274デフォルトの名無しさん
2017/11/09(木) 12:26:56.09ID:NEfZ8eBs @echo off
prompt $g
set a=/?
set b=exe
set c= off
echo on
echo,%a%
echo;%a%
echo.%a%
echo.%b%
echo.%c%
echo
pause
prompt $g
set a=/?
set b=exe
set c= off
echo on
echo,%a%
echo;%a%
echo.%a%
echo.%b%
echo.%c%
echo
pause
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 中国「捜索レーダー起動は各国の通常の手法」 火器管制用か回答せず [蚤の市★]
- 【野球】野球の未来に危機感「マイナースポーツになる」 宮本慎也氏が開催…学童大会 [尺アジ★]
- 【訃報】声優・西村知道さん死去 「SLAM DUNK」安西先生役 9月に体調不良のため一時休業 [少考さん★]
- 普通の日本人「日本の新技術で中国破滅😤!中国経済崩壊😂!終わりの始まりwwwwwwwwwww」 [441660812]
- マヨネーズにわさび、山椒、卵の黄身、ラー油、オリーブオイルを入れてよく混ぜてください
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- 巨大地震 [957955821]
- 福島みずほ「マイナ保険証は強制できません。健康保険証で良いじゃないですか」 [856698234]
- 【速報】高市早苗、起床 [779938112]
