拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです
※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう
過去スレ
%13 http://mevius.2ch.net/test/read.cgi/tech/1542779527/
%12 http://mevius.2ch.net/test/read.cgi/tech/1489207631/
%11 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://pc11.2ch.net/test/read.cgi/tech/1197881068/
【.cmd】 バッチファイルスクリプト %1 【.bat】
http://pc11.2ch.net/test/read.cgi/tech/1178281991/
バッチファイルプログラミング 3.bat
http://pc11.2ch.net/test/read.cgi/tech/1148485555/
バッチファイルプログラミング 2.bat
http://pc8.2ch.net/test/read.cgi/tech/1104911889/
バッチファイルプログラミング質問スレ
http://pc5.2ch.net/test/read.cgi/tech/1040614686/
探検
【.cmd】 バッチファイルスクリプト %14 【.bat】
■ このスレッドは過去ログ倉庫に格納されています
2020/08/15(土) 07:00:26.64ID:f3kW5kCx
479デフォルトの名無しさん
2021/11/07(日) 00:37:39.03ID:U3IH/L/8 >>478
ちょっとjqを調べてみたら、いくつか使える候補が見つかった
batで使いやすいのは結果が1行で出力されるもの \(),join(""),@csv
for文で、\()とjoinは任意の区切り記号、csvは区切り記号として[,]の3つを指定する
また複数行の出力場合は擬似配列変数に代入するとかでできる
【例】
長いので、入力が{"a":{"b":"foo","c":"bar","d":"baz"}}とした場合 (※.a.bは.a|.bでも良い)
1) \()
for /f "usebackq tokens=1-2 delims=," %%i in (`curl 〜^|jq -r ".a|""\(.b),\(.d)"""`) do (
set m=%%i
set t=%%j
)
2) join("")
for /f "usebackq tokens=1-2 delims=," %%i in (`curl 〜^|jq -r "[.a.b,.a.d]|join("""","""")"`) do (
3) ,での出力
setlocal EnableDelayedExpansion
set n=0
for /f "usebackq tokens=*" %%i in (`curl〜^|jq -r ".a.b,.a.d"`) do (
set d!n!=%%i
set /a n+=1
)
echo;%d0%
echo;%d1%
endlocal
ちょっとjqを調べてみたら、いくつか使える候補が見つかった
batで使いやすいのは結果が1行で出力されるもの \(),join(""),@csv
for文で、\()とjoinは任意の区切り記号、csvは区切り記号として[,]の3つを指定する
また複数行の出力場合は擬似配列変数に代入するとかでできる
【例】
長いので、入力が{"a":{"b":"foo","c":"bar","d":"baz"}}とした場合 (※.a.bは.a|.bでも良い)
1) \()
for /f "usebackq tokens=1-2 delims=," %%i in (`curl 〜^|jq -r ".a|""\(.b),\(.d)"""`) do (
set m=%%i
set t=%%j
)
2) join("")
for /f "usebackq tokens=1-2 delims=," %%i in (`curl 〜^|jq -r "[.a.b,.a.d]|join("""","""")"`) do (
3) ,での出力
setlocal EnableDelayedExpansion
set n=0
for /f "usebackq tokens=*" %%i in (`curl〜^|jq -r ".a.b,.a.d"`) do (
set d!n!=%%i
set /a n+=1
)
echo;%d0%
echo;%d1%
endlocal
480デフォルトの名無しさん
2021/11/07(日) 01:01:53.46ID:U3IH/L/8 4) @csv
for /f "usebackq tokens=1-2 delims=," %%i in (`type test.json^|jq -r ".a|[.b,.d]|@csv"`) do (
set m=%%~i
set t=%%~j
)
あ、-cというのも見つけた
5) -cで配列を出力
for /f "usebackq tokens=1-2 delims=[,]" %%i in (`type test.json^|jq -c ".a|[.b,.d]"`) do (
set m=%%~i
set t=%%~j
)
for /f "usebackq tokens=1-2 delims=," %%i in (`type test.json^|jq -r ".a|[.b,.d]|@csv"`) do (
set m=%%~i
set t=%%~j
)
あ、-cというのも見つけた
5) -cで配列を出力
for /f "usebackq tokens=1-2 delims=[,]" %%i in (`type test.json^|jq -c ".a|[.b,.d]"`) do (
set m=%%~i
set t=%%~j
)
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本の立場説明へ…外務省局長が北京到着 “台湾有事”首相答弁に中国反発 ★3 [煮卵★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★2 [蚤の市★]
- NHK、受信料の未払い世帯に督促強化へ 民事手続きの新組織を設置 差し押さえなどの強制執行も [1ゲットロボ★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 橋下徹氏「この喧嘩は日本の完敗」 台湾有事答弁めぐる外務省局長訪中で指摘「中国に怒られてご説明に伺った日本と見られる」 [muffin★]
- 【日本大使館】中国在留邦人は安全確保を [ぐれ★]
- 韓国、泥船から爆速で逃げ出す 「高市…さん…でしたっけ?」 [878970802]
- 高市早苗の中国問題、「オーバーツーリズムが解消されてウザい中国人が消えるから日本の勝ち」という風潮になってしまう [562983582]
- 【忖度】野村総研、痛恨のミス!中国人の訪日自粛で2兆2000億円の経済損失!と、はじいたが誤りだった。4000億減って1.8兆円。高市 [219241683]
- 「稼ぐのよ!」高市が電話でガチャ切り😱鈴木農水大臣に伝えたこと… [993451824]
- 【悲報】有名ウヨ論客、「現実的に考えて中国と仲直りするしかなくね?」と言ったら野良ウヨから総叩きにあう [856698234]
- 愛国者ナザレンコ「左翼は自己中な差別主義者で偽善者。日本人ファーストを叩いておいて台湾人が死んでも知らな〜いでしょ。中露の犬」 [856698234]
