[過去ログ] 【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1(1): 転載ダメ©2ch.net [sageteoff] 2015/02/25(水)19:09 ID:5hx8q1nT(1/2) AAS
拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。
※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。
前スレ
【.cmd】 バッチファイルスクリプト %10 【.bat】
2chスレ:tech
それ以前の過去スレ
省9
922: 2017/02/22(水)20:10 ID:mAYQQSaw(1/2) AAS
Windows7において二つのバッチファイルを同じフォルダ内に作る
・hoge.bat
(以下中身)
echo これはhoge.batです
pause
・hoge(A).bat
(以下中身)
省10
923: 2017/02/22(水)21:19 ID:L0zJ8/8i(1) AAS
ほえ〜、ファイル名に ( が入っていると「管理者として実行」にしくる場合があるのね
hoge.bat を
echo,all "%*"
echo,0 "%~f0"
echo,1 "%~f1"
echo,2 "%~f2"
echo これはhoge.batです
省6
924: 2017/02/22(水)23:00 ID:mAYQQSaw(2/2) AAS
バグかね?
925: 2017/02/22(水)23:56 ID:0ijMuyId(1) AAS
"("を含むパス上にあるbatファイルを、「管理者として実行」で正常実行できない
外部リンク:social.msdn.microsoft.com
926: 2017/02/23(木)00:16 ID:OmWT2WV6(1) AAS
なるほど、batfile とついでに cmdfile も書き換えて....っと
レジストリいじると ( で分断されないや、勉強になります
927: 2017/02/23(木)03:57 ID:5MDB4WX9(1) AAS
WMIC PROCESS GET /FORMAT:LIST | FINDSTR /R "CommandLine= Caption=" > "%~dpn0_%COMPUTERNAME%_プロセス一覧(%DATE:/=%-%TIME::=%時点)_wmic-findstr.log"
928: 2017/02/23(木)12:05 ID:OfWDpqOl(1) AAS
条件によって括る括らないとかせずに全部括るようにすれば良かったのにな
バッチに限らずWinでのこの引数関係の不具合やハマりは沢山あるが
そうしていればほぼ全て解決してただろうに
929(4): 騙し髪 2017/02/24(金)02:03 ID:bJGVi00E(1) AAS
これもバクじゃないから困る
systeminfo | findstr /i /r /c:"^OS バージョン"
930(2): 2017/02/24(金)10:39 ID:y7jxU5gN(1/3) AAS
>>929
↓これで妥協するしかないのかな?
systeminfo | findstr /i /r "OS" | findstr /i /c:"バージョン"
931(1): 2017/02/24(金)11:34 ID:YZGHPd2K(1) AAS
>>929
何でいきがって /r なんて指定してるんだ?
932: 2017/02/24(金)11:57 ID:y7jxU5gN(2/3) AAS
>>931
findstr /?
これの実行結果を読めば分かる。
要はsyteminfoコマンド実行結果の内、「OS バージョン」という文字列が
行頭にある行だけを正規表現で抽出したいというのが>>929の意図。
実際は以下のように記述するしかない感じだが…
systeminfo | findstr /i /r "^OS" | findstr /i /c:"バージョン"
省2
933(1): 2017/02/24(金)12:15 ID:FJeAwGiZ(1) AAS
>>930
systeminfo | findstr /b /c:"OS バージョン"
934: 2017/02/24(金)13:24 ID:IrOG+H9r(1) AAS
もっと困りそうなのが、引数(ファイル名)で使われることが多そうな全角スペースの取扱いだよ。
cmd と エクスプローラーで、半角スペースと同じように扱ったりそうじゃなかったりする。
エクスプローラーからのドロップやタブ補完なんかを行うと、半角スペースとは異なる扱いになるのに、
コマンド実行の際には半角スペースと同様の扱いをして、そのままではパスが通らないことがある。
たとえば、C:\test dir\test.txt (batやexeでもいい) があるとして、カレント・ディレクトリが C:\ の場合、
cd test dir はクォートなしで通るし、
cat test dir\test.txt も普通に実行できるけど、
省8
935(1): 2017/02/24(金)18:08 ID:S5p8nT+v(1) AAS
>>929
負けた気がするけど
systeminfo | findstr /i /r /c:"^OS バ..ジョン"
936: 2017/02/24(金)18:53 ID:J9Egd7AE(1) AAS
パス区切りをバックスラッシュにしたやつ、
円記号とバックスラッシュを同じにしたやつ、
全角スペースをデリミタにしたやつ、
は土下座行脚、いや、焼き土下座行脚すべき
937: 2017/02/24(金)21:47 ID:y7jxU5gN(3/3) AAS
>>933,935
そちらはどれも正常に機能するんだな。
938: 2017/02/24(金)22:06 ID:cAJGTXKH(1) AAS
正規表現で日本語使うのに一々文字コードを確認しなきゃならないってのは大変
MSにはもっとマルチバイト言語圏に気を配って欲しかった
939: 2017/02/25(土)04:26 ID:xGmZcvF/(1) AAS
systeminfo | findstr /i /r /c:"^OS バ"
940: 2017/02/25(土)09:03 ID:5GrbAtXq(1) AAS
パスに含まれるスペースも問題を起こすけど、"["と"]"もこれまた厄介だ。
941: 2017/02/27(月)23:58 ID:WTG5WMst(1) AAS
めっちゃスレチだけど、SSDってちょっと前まで寿命が短いって言われてたけど
いつの間にかHDDより寿命が長くなってるんだな。びびったわw
942(2): 2017/03/01(水)05:48 ID:AsJGDaOR(1) AAS
新人がバッチファイルに興味を持ったらしく、遅延展開のことを聞いてきたので
まずお約束の「SETLOCAL ENABLEDELAYEDEXPANSION」の記述を教えたら
それだけでウンザリされたぞ。
「%」ではなく「!」で囲まなきゃならないことを教えたらさらにウンザリされた。
やっぱりとっつきにくいよなあ
943: 2017/03/01(水)12:07 ID:e1g5jWjK(1) AAS
他の言語はある程度習得できたけど
バッチは何度やっても覚えられない
944: 2017/03/01(水)12:53 ID:SJrJxNnQ(1/3) AAS
>>942
> まずお約束の「SETLOCAL ENABLEDELAYEDEXPANSION」の記述を教えたら
> それだけでウンザリされたぞ。
俺ならその時点でそんなやる気のない新人は放置する
945: 2017/03/01(水)13:11 ID:ZEta6nTz(1) AAS
確かに、その段階で、うんざりするような人に、
教えたくは無いな。
946(2): 2017/03/01(水)14:45 ID:XTrmDaeR(1/4) AAS
ただただ長ったらしいんだよ
SetLocal EnableDelayedExpansion
ってすればかなり反応も違ったのかも
947(1): 2017/03/01(水)15:21 ID:XTrmDaeR(2/4) AAS
それと意識の違いがあるかもな
C#とかだったらどんなに複雑でも必死で覚えようとするだろうが
BATだとまあそこそこ使えりゃいいんだよって感じで片手間の労力しか掛けたくないんだろう
実際使う機会なんて、ifで条件切り分けて起動アプリや引数を変える程度だろう
それ以上になるなら、簡易なツールでも作ったほうがいいとなる
あとは、何でも質問してくる新人なんて付き合ってられんだろう
学校の延長じゃないんだし、BATに限らず、まずはマニュアルやヘルプやwebで調べて自分で学習することを覚えさせるべき
948(2): 2017/03/01(水)15:25 ID:TOh8r3Y7(1) AAS
俺としては遅延展開は遅延展開が必要になった状況になって初めて教えた方がいいと思うけど
わけがわからんけどとりあえず書いとくおまじないってのプログラム関係の解説に多いけど
そういうの本当にうんざりする。
おまじないなんてアホな事書くぐらいならきちんと説明しとけと
949(1): 2017/03/01(水)19:10 ID:SJrJxNnQ(2/3) AAS
>>947
こういう知ったかにもげんなりする
> 実際使う機会なんて、ifで条件切り分けて起動アプリや引数を変える程度だろう
そんなものに遅延展開が必要になることはほぼない
950(1): 2017/03/01(水)19:15 ID:XTrmDaeR(3/4) AAS
>>949
>>946も言ってるように、遅延展開が必要になった場面で
それでも使わなければならないのなら教えればいい
単に勉強として教えても身にはつかない
951(1): 2017/03/01(水)19:16 ID:XTrmDaeR(4/4) AAS
>>946は>>948に訂正
952: 2017/03/01(水)19:22 ID:SJrJxNnQ(3/3) AAS
>>950-951
何で俺にアンカーしてるんだ?
>>948 はまあ正しいと思うし本当に必要になったかどうかは >>942 の所の新人に聞かなきゃわからんし
953: 2017/03/01(水)20:34 ID:novnWMTs(1/3) AAS
長い上に補完効かないからゲンナリしたんだろうと邪推、テンプレート的な何かを
用意してあげればハードル下がるんじゃないですかね?
補完が効くなら大した事じゃないだろうし
内容はたったこれだけだけど、右クリック→新規作成 にバッチファイルの雛形を追加してから随分楽になった>俺
@setlocal
@echo off
prompt $g
省19
954: 2017/03/01(水)20:35 ID:novnWMTs(2/3) AAS
うを、「 ↓ 」消し忘れた orz
955(1): 2017/03/01(水)21:10 ID:9330vN7g(1) AAS
@echo offを使うコードは嫌い
ちゃんと動けば問題ないが、大抵どこかがおかしいのに自信満々で隠してる
956(1): 2017/03/01(水)21:57 ID:novnWMTs(3/3) AAS
スタンスの違いですかね、そんな風に考えたこともなかった
957: 2017/03/01(水)23:08 ID:yR2oLnRj(1) AAS
使い道が限られてるし
めちゃくちゃ便利って思うバッチの恩恵がないと
覚えるキッカケにならないと思う
あとはキッティングとかやらないと必要にならない
958: 2017/03/01(水)23:22 ID:kitmjsdZ(1) AAS
>>955
デバッグした後であれば、表示されて煩わしい部分(コメントとか)隠すぶんにはいいんでないの?
何のコマンドを実行しているかは、その説明をechoしたり、echo on を直前に記述したっていいわけだし。
959: 2017/03/02(木)03:25 ID:BRCb1ETq(1) AAS
@echo on
pilder on
Mazinger Go
@echo off
960(1): 2017/03/02(木)05:28 ID:pdyDswRT(1) AAS
@echo off
rem title "name"
goto :main
comment
USING: this.bat "hoge" ["foo" ["bar"...]]
何のバッチかとか使い方とか引数や変数の説明
基本的にREMは使わない
省2
961(1): 2017/03/02(木)11:37 ID:T2bzQ343(1) AAS
シェルスクリプトはタイプ数減らすために逆にエスケープ周りのルールが複雑化して全然生産性上がらないんだよな
デバッグもしづらいし
その点でVBSは良かった
文法は糞だけど
962: 2017/03/02(木)17:09 ID:3Z7pahnd(1/2) AAS
>>960
「:mein」は、「main」?
963: 2017/03/02(木)17:10 ID:3Z7pahnd(2/2) AAS
間違った。
「:mein」は、「:main」?
だ。
964: 2017/03/02(木)18:22 ID:s+qRP6Bf(1) AAS
>>961
複雑?
お前さんの知能が足りんだけじゃね? w
.cmd のエスケープの方がトリッキーだろ、正式なドキュメントもないし
965(1): 2017/03/03(金)05:02 ID:WTPXL6BV(1/2) AAS
delimsにダブルクォーテーションを使用することは出来ないですか?
966(1): 2017/03/03(金)12:31 ID:1c3U0vHr(1/2) AAS
>>956
エスケープすることで可能(forのオプションは囲むことは必須ではないため)
外部リンク:stackoverflow.com
外部リンク:otnx.jpコマンド別/for/
967: 2017/03/03(金)12:34 ID:1c3U0vHr(2/2) AAS
>>965 の間違いだわ、失礼
968: 2017/03/03(金)13:12 ID:WTPXL6BV(2/2) AAS
>>966
囲まなくてもよかったんですね。
勉強になりましたありがとうございます。
969: 2017/03/05(日)12:48 ID:4ixcbh2y(1/2) AAS
コマンドプロンプト
970: 2017/03/05(日)12:50 ID:4ixcbh2y(2/2) AAS
間違えた、すみません。
971: 2017/03/05(日)13:58 ID:7VmbrbTL(1) AAS
半年ROMれ
972(1): 2017/03/06(月)09:55 ID:cTPfG0tg(1) AAS
cmd終了のお知らせ
次期大型アップデート、Windows 10 Creators Updateの実像 - PowerShellが標準に、Linux環境も強化したWindows 10 Creators Update:ITpro
外部リンク:itpro.nikkeibp.co.jp
973: 2017/03/06(月)19:59 ID:ZhaNpIEG(1) AAS
まじかよ…まぁでもまだいける
974(1): 2017/03/06(月)20:25 ID:ajpZLJux(1) AAS
cmd環境はサポート維持が表明されてるから安心して良いよ
むしろ危ないのはWSHの方
975: 2017/03/07(火)10:57 ID:yt35hC5o(1) AAS
>>972
塩田さんの記事か。
少し、ひっかかるものがあるけど。
976: 2017/03/07(火)11:34 ID:NGhUJ85m(1) AAS
>>974
記事を読む限りはcmd環境も維持されるみたいね
なんとなく安心
977: [sage !id:on] 2017/03/08(水)16:42 ID:yjHW4J+N(1/5) AAS
test
978: [sage !id:off] 2017/03/08(水)16:42 ID:yjHW4J+N(2/5) AAS
test2
979: [sage:off!id:on] 2017/03/08(水)16:43 ID:yjHW4J+N(3/5) AAS
test3
980(1): [sage!id:on] 2017/03/08(水)16:44 ID:yjHW4J+N(4/5) AAS
test4
981: 2017/03/08(水)16:44 ID:yjHW4J+N(5/5) AAS
check.
982: 2017/03/08(水)20:25 ID:22c2SBHy(1) AAS
del の外にごみ箱送りの削除コマンドを追加して欲しい
できるソフトはあるが、内部コマンドで
983(1): 2017/03/10(金)20:40 ID:f4ZS1b20(1) AAS
はは
984: 2017/03/10(金)22:27 ID:yR7vM1Ks(1) AAS
>>983
ひろし、ごはんだよ
985: 2017/03/11(土)05:16 ID:fFh0REPG(1) AAS
落ちる
986: 2017/03/11(土)11:23 ID:0VclosvM(1) AAS
落ちるー。
ミハル
987(1): 2017/03/11(土)13:48 ID:2LSSeyH1(1) AAS
次スレ
【.cmd】 バッチファイルスクリプト %12 【.bat】
2chスレ:tech
あとヨロシク
988: 2017/03/11(土)13:55 ID:+iqzxRFD(1/2) AAS
落ちゆく、スレにも、幸いあれ。
989: 2017/03/11(土)20:19 ID:+iqzxRFD(2/2) AAS
今は、落ちゆくスレとても、dat内にて、花さかせん。
990: 2017/03/11(土)20:55 ID:a53QpxuN(1) AAS
うめ
991: 2017/03/12(日)05:37 ID:59Ox3raF(1/2) AAS
梅一輪 一輪ほどの あたたかさ
服部嵐雪
992: 2017/03/12(日)05:51 ID:FQp4yzuc(1) AAS
梅
993: 2017/03/12(日)11:27 ID:1iqHgo3m(1/5) AAS
shutdown /s /f /t 0 ←Windowsを即電源断
shutdown /r /f /t 0 ←Windowsを即再起動(※現在セーフモードならセーフモード,通常モードなら通常モードで再起動)
994: 2017/03/12(日)11:35 ID:1iqHgo3m(2/5) AAS
あと6レスで今スレともおさらばか…
995: 2017/03/12(日)12:15 ID:eYHcL9Aw(1) AAS
2年かかったな
996: 2017/03/12(日)13:02 ID:59Ox3raF(2/2) AAS
梅の花散らまく惜しみわが園の竹の林に鶯鳴くも
少監阿氏奥島
997(1): 2017/03/12(日)18:55 ID:t+BguLGS(1) AAS
鶯谷の鶯嬢の鳴く声が聞こえてきそうだw
998: 2017/03/12(日)20:22 ID:1iqHgo3m(3/5) AAS
さぁ、このスレをシャットダウンしようじゃないか
999: 2017/03/12(日)20:24 ID:1iqHgo3m(4/5) AAS
>>987
次スレ乙
1000: 2017/03/12(日)20:54 ID:1iqHgo3m(5/5) AAS
1000!
1001(1): 1001 Over 1000 Thread AAS
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 746日 1時間 44分 34秒
1002(1): 1002 Over 1000 Thread AAS
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
省7
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.196s*