[過去ログ]
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net (1002レス)
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1489207631/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
849: デフォルトの名無しさん [sage] 2018/10/05(金) 18:09:57.00 ID:Iu01kfl1 set /a で %a% や !a! はあまり使用しない方が良さそうだ % や ! は演算子に含まれる文字で紛らわしいし 展開のタイミングで予想外の挙動するし 展開時に >>844 のように特異値でエラーになったりするし 値参照は変数名だけでいい http://mevius.5ch.net/test/read.cgi/tech/1489207631/849
850: デフォルトの名無しさん [sage] 2018/10/05(金) 18:17:00.44 ID:vSWfZutq ご自由に。それより某グラマー御用達QAサイトのトップ回答者様が書くバッチがgoto :EOF 多用で頭痛い http://mevius.5ch.net/test/read.cgi/tech/1489207631/850
851: デフォルトの名無しさん [sage] 2018/10/05(金) 18:26:50.86 ID:Iu01kfl1 俺もよく使うよ、goto :eof http://mevius.5ch.net/test/read.cgi/tech/1489207631/851
852: デフォルトの名無しさん [sage] 2018/10/05(金) 18:28:05.47 ID:hOPHqLcn >>850 何か問題が? goto :endとかより遥かにいいと思うが http://mevius.5ch.net/test/read.cgi/tech/1489207631/852
853: デフォルトの名無しさん [sage] 2018/10/05(金) 18:33:02.62 ID:Iu01kfl1 goto その物が多いとか言われた事も http://mevius.5ch.net/test/read.cgi/tech/1489207631/853
854: デフォルトの名無しさん [sage] 2018/10/05(金) 18:46:17.97 ID:vSWfZutq 自分だと大抵 {メインルーチン} goto :EOF :sub1 {サブルーチン12} exit /b :sub2 {サブルーチン} exit /b と書くことが多い。 トップ回答者様は {メインルーチン} goto :EOF :sub1 {サブルーチン} goto :EOF sub2 {サブルーチン} goto :EOF と回答されている。サブルーチンの下のはgoto は不要だし慣れない。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/854
855: デフォルトの名無しさん [sage] 2018/10/05(金) 19:02:53.79 ID:Iu01kfl1 戻り値なけりゃどっちでもいい様な気がするが 逆に exit を避けてる人もいるよ http://mevius.5ch.net/test/read.cgi/tech/1489207631/855
856: デフォルトの名無しさん [sage] 2018/10/05(金) 19:53:21.88 ID:LaGwhHU8 俺もgoto派だな http://mevius.5ch.net/test/read.cgi/tech/1489207631/856
857: デフォルトの名無しさん [sage] 2018/10/05(金) 21:35:58.50 ID:RB/KKRkK gotoは見通しが悪くなるから、極力使わないようにしてる 他の主流の言語だと使えないものが多いから、必然的にそういう書き方に慣れてしまった http://mevius.5ch.net/test/read.cgi/tech/1489207631/857
858: デフォルトの名無しさん [sage] 2018/10/05(金) 23:49:53.55 ID:8nMQUHh9 goto は使わないに越したことはない。 が、制御構文が貧弱な言語では、熟慮の上で使わざるを得ない場面で使う。 が正解。 詳しくはWikipediaで。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/858
859: デフォルトの名無しさん [sage] 2018/10/05(金) 23:56:24.52 ID:qkvvR9Zs Cでもgotoは使うよね http://mevius.5ch.net/test/read.cgi/tech/1489207631/859
860: デフォルトの名無しさん [sage] 2018/10/05(金) 23:58:44.47 ID:8nMQUHh9 C言語にはMISRAとかいう規約があるが無視していい。 あれは組み込み分野だけの特殊なものだと思っていい。 大抵の人間は、「これは思考からはぶいていい」という書き方の方が読みやすい。 だから、「これは戻すか終わらせる」と書いていっていい。 そうすれば、残ったものに集中できるだろ? まぁ、日ごろ「自分が辞めた後にこれを読まされる人間が困らないかどうか」って考えて書いてるかどうかってことだ。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/86
0
861: デフォルトの名無しさん [sage] 2018/10/06(土) 16:39:29.59 ID:P4YKYACU あちこちでreturnするのもスパゲッティなgotoと大差がない気がするんだ テロ的というか http://mevius.5ch.net/test/read.cgi/tech/1489207631/861
862: デフォルトの名無しさん [sage] 2018/10/06(土) 17:10:22.17 ID:GNiE4xH/ 字面が違うだけで同じだろ http://mevius.5ch.net/test/read.cgi/tech/1489207631/862
863: デフォルトの名無しさん [sage] 2018/10/06(土) 20:28:48.17 ID:gea8Zy97 gotoもイディオムに従って使えば混乱しない バッチファイルだとforの方が理解不能で害悪 http://mevius.5ch.net/test/read.cgi/tech/1489207631/863
864: デフォルトの名無しさん [sage] 2018/10/06(土) 23:02:20.58 ID:tgEP6apu gotoがゴーゴーに見えた http://mevius.5ch.net/test/read.cgi/tech/1489207631/864
865: デフォルトの名無しさん [sage] 2018/10/06(土) 23:12:15.45 ID:uJ87E9Rb >>860-861 IPAの出してるMISRAの解説書のreturnは1か所にしろというルール、 あれはクソofクソのルールだと思うね。early returnこそ正義 Cとbatの書き方は全然比較にならないけど http://mevius.5ch.net/test/read.cgi/tech/1489207631/865
866: デフォルトの名無しさん [] 2018/10/07(日) 00:27:12.50 ID:pbh8RIqN >>861 むしろ goto の良い使い方と言われている制限が、return をまねたもの。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/866
867: デフォルトの名無しさん [] 2018/10/07(日) 11:03:03.39 ID:Bzp9uIq0 バッチファイルかパワーシェルでIPv4のIPアドレスのみを取得して環境変数に代入するにはどういうコマンドになりますか? 教えてください http://mevius.5ch.net/test/read.cgi/tech/1489207631/867
868: デフォルトの名無しさん [sage] 2018/10/07(日) 12:00:15.70 ID:6qmhFN/2 「powershell ip address」で検索! http://mevius.5ch.net/test/read.cgi/tech/1489207631/868
869: デフォルトの名無しさん [sage] 2018/10/07(日) 12:28:26.52 ID:VwaVbKnV >>867 環境変数IPAddressに192を含んだIPアドレスを代入するサンプル(PowerShell 2.0併用) set CMD=powershell -command "& {ipconfig |? {$_ -match 'IP.*: 192\.'}|% {$_ -replace '.*: (\d+\.\d+\.\d+\.\d+)','$1'}}" for /f "usebackq delims=" %%a in (`%CMD%`) do set IPAddress=%%a echo %IPAddress% PowerShell部分はipconfigの結果から正規表現でIPと: 192という文字を含む行を抽出 抽出した行のIPアドレス部分のみ正規表現の
置換で抽出といった感じ PowerShell3.0以降だともうちょっと素直に書ける感じだけど http://mevius.5ch.net/test/read.cgi/tech/1489207631/869
870: デフォルトの名無しさん [sage] 2018/10/07(日) 12:53:16.71 ID:Dedwpgqn アダプタが1つだけならこんなでいいんじゃね? setlocal enabledelayedexpansion for /f "tokens=2 delims=:" %%a in ('ipconfig ^|find "IPv4"') do set IPADRESS=%%a set IPADRESS=%IPADRESS:~1% echo %IPADRESS% http://mevius.5ch.net/test/read.cgi/tech/1489207631/870
871: デフォルトの名無しさん [] 2018/10/07(日) 12:54:26.67 ID:Bzp9uIq0 この処理作るのにバッチとパワーシェル組み合わせないとできないんですか? ip取得するだけでも結構大変なのですね http://mevius.5ch.net/test/read.cgi/tech/1489207631/871
872: デフォルトの名無しさん [] 2018/10/07(日) 12:56:55.73 ID:Bzp9uIq0 と思ったらバッチだけでもできそうなんですね、アダプターは一つです ちょっと色々教えてもらったのでテストしてみます! http://mevius.5ch.net/test/read.cgi/tech/1489207631/872
873: 870 [sage] 2018/10/07(日) 13:03:20.66 ID:Dedwpgqn 遅延変数展開の呪文要らなかったわ、1行目削っていいよ http://mevius.5ch.net/test/read.cgi/tech/1489207631/873
874: デフォルトの名無しさん [] 2018/10/07(日) 13:07:01.74 ID:Bzp9uIq0 遅延環境数ってforとifの()で使用するときだけ必要なんでしたっけ? http://mevius.5ch.net/test/read.cgi/tech/1489207631/874
875: デフォルトの名無しさん [sage] 2018/10/07(日) 13:23:02.79 ID:Dedwpgqn だいたいその理解でおk forやifの()内のスクリプトブロックが複数処理で変数代入とその参照のペアがある場合に使う 1処理だけとか、代入だけとかなら不要 http://mevius.5ch.net/test/read.cgi/tech/1489207631/875
876: デフォルトの名無しさん [sage] 2018/10/07(日) 17:41:47.85 ID:0jrGYEp4 無限ループの原因は何か SET A=1073741824 FOR /L %%B IN (-%A%,%A%,%A%) DO ECHO %%B http://mevius.5ch.net/test/read.cgi/tech/1489207631/876
877: デフォルトの名無しさん [sage] 2018/10/07(日) 19:04:07.20 ID:Dedwpgqn set /a A=1073741824 1073741824 set /a B=A+A -2147483648 となるからね、32bitINTの範囲が-2147483648〜-2147483647 2進表記の最上位bitが1が立ってしまったらマイナス値 http://mevius.5ch.net/test/read.cgi/tech/1489207631/877
878: デフォルトの名無しさん [sage] 2018/10/07(日) 19:25:23.31 ID:Dedwpgqn 試してみるとfor /l 文ではステップ値が1073741824以上の場合必ずバグったループになるね、まあ仕方ないのかも http://mevius.5ch.net/test/read.cgi/tech/1489207631/878
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 124 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.050s