[過去ログ] 【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
915: 2017/02/20(月)20:22 ID:ynZG7eTn(1) AAS
まだまだ使える! WSHプログラミング 〜 VBScriptのテストツールの紹介 (1/2):CodeZine(コードジン)
外部リンク:codezine.jp
916: 2017/02/20(月)21:44 ID:D++FG3XO(1) AAS
WSHはファイルに保存しないと実行できないのが致命的。
917(1): 2017/02/21(火)12:35 ID:4H0MJuHo(1) AAS
.Netがハードル
C#使うとか覚えるとかで他でも使うなら良いがPSの為だけに.Net覚えるのはコスパ悪くない?
918: 2017/02/21(火)12:44 ID:jPlNYKt3(1/2) AAS
C#もひっくるめて、全部マスターが効率いいかも。
919(1): 2017/02/21(火)12:45 ID:BY3mJNCy(1) AAS
WSHはBATよりはましだがもう過去のものだし
PSはMSが広めようとするも全然使われてないし
これやったら絶対いいといった決め手はない
結局はどれに興味がわくかで決めるしかないのが現状
920: 2017/02/21(火)13:05 ID:jPlNYKt3(2/2) AAS
>>919
結局、一通りマスターするしか、ないのよね。
決定的なもの、ひとつマスターすれば、okとは行かないのが現状。
921: 2017/02/21(火)14:15 ID:y0kzTLQN(1) AAS
>>917
テキスト処理とか WSH でやる程度のことは .NET に頼らなくてもできるよ
お陰で -split 演算子と String.Split( ) みたいに似て非なるものが色々できてしまうわけだが...
922: 2017/02/22(水)20:10 ID:mAYQQSaw(1/2) AAS
Windows7において二つのバッチファイルを同じフォルダ内に作る
・hoge.bat
(以下中身)
echo これはhoge.batです
pause
・hoge(A).bat
(以下中身)
echo これはhoge(A).batです
pause
保存した後おのおののバッチファイルを右クリックして「開く」を実行する。
当たり前だがおのおののecho文の内容が表示される。
ここまではいい。
次にhoge(A).batを右クリックして「管理者として実行」をクリックする。
すると、
「これはhoge.batです」
と表示されるではないか。
末恐ろしい・・・
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です
pause
hoge(A).bat のファイル名を hoge(A)(S(D).bat
にすると最初の ( で分割されてるっぽいのが見て取れる
hoge(A).bat の ( の前に1個以上半角or全角スペースを入れてやると、
そのファイル名なら問題ないみたい
なんで???
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:"バージョン"
ちなみに>>930は少し記述ミスがあるので無視してほしい。
また、実行結果の表記がverコマンドの場合と少し異なる点にも注目。
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 も普通に実行できるけど、
dir test dir\test.txt は通らない(クォーティングが必要)。
全部クォーティングすれば問題にならないと思われるにも関わらず、
C:\test dir\test space.txt というファイルパス(全角スペースのみならず半角スペースあり)の場合、
エクスプローラーからコマンド・プロンプトへドロップした際、
先の C:\test dir\test.txt はクォーティングされないが、
C:\test dir\test space.txt だと、きちんとクォーティングされる。
色んなパターンが合って、上手く説明できないけど、
補完とかの挙動もおかしかったりするので、ちょっといじってみるとわかってもらえると思う。
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」の記述を教えたら
> それだけでウンザリされたぞ。
俺ならその時点でそんなやる気のない新人は放置する
上下前次1-新書関写板覧索設栞歴
あと 58 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.016s