[過去ログ]
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net (1002レス)
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1489207631/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
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
879: デフォルトの名無しさん [sage] 2018/10/07(日) 19:43:19.94 ID:0jrGYEp4 内部的にどんな計算してるか気になるところです B は -1073741824,0,1073741824 なので 普通に考えると32ビットのオーバーフローはしてない筈 http://mevius.5ch.net/test/read.cgi/tech/1489207631/879
880: デフォルトの名無しさん [sage] 2018/10/07(日) 19:55:29.49 ID:0jrGYEp4 ああ、分かった 4ループめでオーバーフローするのか 3ループめで最終値に等しいと抜けるんじゃ無いわけか http://mevius.5ch.net/test/read.cgi/tech/1489207631/880
881: デフォルトの名無しさん [] 2018/10/07(日) 19:57:49.70 ID:2JwzOMBB バッチファイルのif文でパワーシェルのif -Orみたいな処理できますか? http://mevius.5ch.net/test/read.cgi/tech/1489207631/881
882: デフォルトの名無しさん [sage] 2018/10/07(日) 20:18:06.07 ID:0jrGYEp4 IFの条件は2個の値を比較するだけ 複雑なOR,AND,XORとかあるんなら計算して結果を変数に入れる それをIFの条件で使う http://mevius.5ch.net/test/read.cgi/tech/1489207631/882
883: デフォルトの名無しさん [sage] 2018/10/08(月) 21:58:47.76 ID:To7x1PVP あると便利なミニミニバッチ DOS窓に今の時間を表示しておく m.bat @echo off setlocal set x=%date:~5% %time:~0,5% %* title=%x% exit /B 0 画面クリア c.bat @echo off cls exit /B 0 クリップボードクリア cc.bat @echo off echo.|clip echo clip clear exit /B 0 http://mevius.5ch.net/test/read.cgi/tech/1489207631/883
884: デフォルトの名無しさん [sage] 2018/10/09(火) 08:38:25.31 ID:IIAdkwpd 画面クリアは普通にcls打つのと何が違うん? http://mevius.5ch.net/test/read.cgi/tech/1489207631/884
885: デフォルトの名無しさん [sage] 2018/10/09(火) 11:35:59.50 ID:9WevvN1n 時刻表示ならプロンプト変えたら? clsは>>884 クリップボード履歴管理系のアプリ使ってる人には無用? http://mevius.5ch.net/test/read.cgi/tech/1489207631/885
886: デフォルトの名無しさん [sage] 2018/10/09(火) 15:53:20.49 ID:hXgFZ2lj >>884 一文字でいいので、お菓子を食べながらでもできる、大差 http://mevius.5ch.net/test/read.cgi/tech/1489207631/886
887: デフォルトの名無しさん [sage] 2018/10/10(水) 17:37:49.95 ID:Wl83IH5q そういうしょぼいものならdoskeyでも使っとけ http://mevius.5ch.net/test/read.cgi/tech/1489207631/887
888: デフォルトの名無しさん [sage] 2018/10/11(木) 22:01:20.44 ID:aIIKUaH8 1文字とか何かで誤爆しそうで危うすぎる http://mevius.5ch.net/test/read.cgi/tech/1489207631/888
889: デフォルトの名無しさん [] 2018/10/12(金) 00:17:12.22 ID:xVyRtSc0 くだらねー http://mevius.5ch.net/test/read.cgi/tech/1489207631/889
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 113 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.025s