Windowsのバッチファイル向け統合開発環境が登場 75
ストーリー by hylom
そういえばPowerShellなんてものもありましたが 部門より
そういえばPowerShellなんてものもありましたが 部門より
あるAnonymous Coward 曰く、
Windowsのバッチファイルを作成するための統合開発環境「VisualBat」がリリースされた(窓の杜によるレビュー)。
正直10年前にほしかった。
シンタックスハイライト機能付きのエディタに加え、デバッガ機能も搭載しているようだ。
日本語化ける (スコア:2)
どうやらUTF-8以外の入力を想定していないようで。
#.batのコメントはShift-JISだろJK.。
痛化とか (スコア:1)
痛スキン機能対応!(走召糸色木亥火暴)
とか複数文字コード対応とか、これからですよ(GJ!)
"castigat ridendo mores" "Saxum volutum non obducitur musco"
Re: (スコア:0)
ついにバッチファイルもtcsh並みのカタログ機能がっっっ!
#.batのコメントにcp932使う俺ってhentaiですか?
Re:日本語化ける (スコア:1)
> ・ファイル読み込み時のデフォルト文字コードをUTF8 => Shift_JISに変更
さっそく対応したようだが、CP_ACPではないのか
# どうせシステムロケールが日本語以外の環境では動作確認してないからいいのか
今更バッチファイルはないわー (スコア:0)
いまどき、PowerShell [blogspot.jp]でしょ。
「そういえばPowerShellなんてものもありましたが」とか言っている奴は不勉強過ぎ。
Windowsを絶対使わないという信念でもないかぎり、技術者としてはPowerShellを学ぶべき。
Re:今更バッチファイルはないわー (スコア:2)
PowerShellは・・・デフォルトUTF-16LEで変更できないのがなぁ。
いちいち-Encoding UTF8 付けるの面倒だよ。
Re: (スコア:0)
ほんとこれ。デフォルトエンコーディング指定させてほしい。
「あらゆるものをオブジェクトのストリームで取り扱う」「コマンドラインから相当な規模のスクリプティングまで単一言語でサポート」「.NETと完全統合」って、コンセプトはすごくいいのに、細かいところがあちこち野暮ったいのが残念。
#でも慣れれば好きになってきた。
Re: (スコア:0)
インストーラー形式だと他人のPCでは使いにくいし、
複雑な処理をするならLLを使うからPowerShellは×だなあ。
zipを解凍してPATHを通すだけの構成にして欲しかったわ。
Re:今更バッチファイルはないわー (スコア:1)
インストーラー形式だと他人のPCでは使いにくいし、
何の話?
PowerShellは、WIindows 7・Windows Server 2008 R2以降標準装備。
Windows XPとかWindows Vista、Windows Server 2003とかを使うんでなければ、インストーラは関係ないはずだけど。
Re: (スコア:0)
XPは依然として多いですわ。
よってインストーラーは大いに関係あり。
Re:今更バッチファイルはないわー (スコア:1)
それも今年までだろ。どう引っ張っても、数年以内にはなくなるよ。
それ以降は、わざわざダウンロードしなきゃ使えないようなLLは面倒になるんだから、PowerShellも覚えときなよ。
手続き型言語なんか、一つ覚えれば後は似たようなもんなんだから。
…と言われても、使わない人は使わない理由を見つけて使わないんだろうけど。
Re: (スコア:0)
XPの場合はWindows Updateから取得するんですけど
Re: (スコア:0)
KB12345.msuのようなファイルでダウンロードできなかったっけ?
あの時代は自宅のネットはPHS回線(auのプリン)だったから
ひたすらそうやって使ってたはず。
Re:今更バッチファイルはないわー (スコア:2)
wsh + jscript のほうがいいな。
Re:今更バッチファイルはないわー (スコア:1)
vbsでだいたいのことができるし…(震え声)
PSは文法の学習コストとやれることの釣り合いが取れないと個人的に思う。
Re:今更バッチファイルはないわー (スコア:1)
VBSでできないことの最大のものは、対話的なオペレーション。
それに、VBSはこれ以上進歩しない予定。
まあ、個人的感想に文句は付けられないけど、学習コストを払って余りあるメリットがあると思うね。
Re: (スコア:0)
私は逆の感想だな。比較対象はUNIXのCUI環境。
結局たくさんのコマンドと、そのコマンドラインオプション(大体1文字)を暗記させられるUNIXと比べて、覚えることは少ないし、少ないことを組み合わせて使えるし、オプションも記述的で覚えやすい。UNIXはしばらく使ってないとコマンドやオプションを忘れてて、いちいち思い出したりググったりする必要があっていらいらする。結局マニアックな知識を持ってる奴が生産性が高い、という、あまりうれしくない状況に陥りがち。
UNIXだと「これをやるためのオプションはどれだ」って探すところを、PowerShellなら「これをやるためのコマンドレットの組み合わせはどうするか」と考えられるから、使ってて楽しい。
Re:今更バッチファイルはないわー (スコア:2)
> UNIXだと「これをやるためのオプションはどれだ」って探すところを、
> PowerShellなら「これをやるためのコマンドレットの組み合わせはどうするか」と考えられるから
PSのコマンドレット忘れていつも探してる俺からするとその違いが分からねぇ…
どっちも普段使わないなら忘れるだろうしそしたら探さなきゃいけない、
覚えてれば組み合わせに注力できるから楽しい、ってだけのことなんでは?
# mishimaは本田透先生を熱烈に応援しています
Re:今更バッチファイルはないわー (スコア:1)
Get-Commandの使い方は、初期に覚えておくべきだね。
# それとGet-Helpな。
Re: (スコア:0)
PowerShell3.0 のISEっていうIDEでは一覧からコマンドレットを検索できるようになってる。コマンドレットを選ぶとパラメーターの入力画面も出て来るし、
コマンドラインではパラメーターの入力補完も効くので凄く楽。このあたりはUnix系のShellと発想が違うところ。
ISEと似たようなのにサードパーティーのPowerGUIっていうフリーウエアが以前からあって、こっちの方が動作は軽いみたい。
Re:今更バッチファイルはないわー (スコア:1)
> コマンドラインではパラメーターの入力補完も効くので凄く楽。このあたりはUnix系のShellと発想が違うところ。
なんでUnix系のShellにその補完がないと思ったの?
zsh ではその機能はもうずいぶん昔からあるけど…
# mishimaは本田透先生を熱烈に応援しています
Re:今更バッチファイルはないわー (スコア:1)
比較対象をVBSにしたところで、変わらないんじゃないかな。
現状VBしか知らない、って人だと、VBSは習得コストは安いかもしれない。その場合、別に対話的シェルを覚える必要がある。実質的には、cmd.exeかPowerShellになるけど、PowerShellを覚えない前提なら、cmd.exeになる。これ以上バージョンアップしないVBSとこれ以上バージョンアップしないcmd.exeの組合せって…
まったく白紙からなら、VBSを選択させる意味はまったくない。
JScriptならまだ解らなくはない。でも、これも対話的シェルをどうするか、って話になる。これもPowerShellかcmd.exeの二択になって、今からわざわざcmd.exeを選ぶ理由は無く、PowerShellを使うことになるだろうね。
となると、JScriptとPowerShellの組合せ、ってことになるけど、プログラミングをPowerShellにする決心さえあれば、JScriptを捨てて、PowerShell一本にする方が習得コストは安くなるだろう。
JavaScriptを最初から知っている、という人なら、JScript + PowerShellの組合せはあり得るね。
Re: (スコア:0)
みんながWindowsに求めてるのってまさにそれだろ。じゃなきゃぐずぐずとXPが生き残ったりしねぇよ。
Re:今更バッチファイルはないわー (スコア:1)
これ以上バージョンアップしないVBSとこれ以上バージョンアップしないcmd.exeの組合せ
みんながWindowsに求めてるのってまさにそれだろ。
VBSが必要って人はあんまり見たことないぞ。
# 敢えてどっちかと問われれば、VBSよりJScriptだと思うけどなあ。
Re: (スコア:0)
心の底から同意
Re: (スコア:0)
搭載されていないvistaも少ないながらまだ生きてるし、昔のPowerShellはバックグラウンドジョブがなかったり、システムのコマンドと整合してなかったり、リモート環境がないか、設定がかなり面倒だったり、ようやくやっと使えるようになってきた段階と感じています。
それでもまだURLを指定してファイルをダウンロードするだけでしんどいです。LinuxでいうSSHログイン+bashと同レベルの使い勝手になれるはずだと思うので、もう一歩がんばって欲しいです。
Re: (スコア:0)
個人的にはダウンロードがしんどいと感じたのは2.0までですね。
3.0からはInvoke-WebRequestがあるのでそこまでめんどくさいってことはないです。
Re: (スコア:0)
PowerShellからBITSを使う方法 [blogspot.jp]もあるよ。
みたいな。バックグラウンド実行とか、一時停止・再開も(サーバが対応していれば)できる。
Re: (スコア:0)
そうなんですけど...
ただCUIプログラムを幾つか実行してファイルを消したりコピーするだけの簡単なお仕事に使うには正直面倒w
ついついJavaからPHPに流れてしまう、みたいな
# WSHを間に挟んだのも普及の妨げな気がする
http://technet.microsoft.com/ja-jp/scriptcenter/powershell_owner05.aspx [microsoft.com] (
Windows PowerShell スクリプトを実行する)
Re:今更バッチファイルはないわー (スコア:1)
ただCUIプログラムを幾つか実行してファイルを消したりコピーするだけの簡単なお仕事に使うには正直面倒w
その面倒ってのは、「Set-ExecutionPolicy RemoteSigned」を一度だけ実行することを指してるの?
まあ、面倒と言えば面倒かなあ。
Re:今更バッチファイルはないわー (スコア:1)
cmd、batファイルにもっとコマンドを増やし、OSの新機能に対応させる。
具体的には、何が不満なのでしょうか?
実際のところ、OSの機能のかなりの部分は、cmd.exeから実行できるコマンドでどうにかなるようになってます。
つまり、PowerShellにはできて、cmd.exeにはできない、という作業はあまり無いと思います。
ただ、プログラミング言語としてはcmd.exeより、PowerShellの方が優れていると思います。
WSHからもっとOSの深いところの設定まで取得、設定できる機能を用意する。
こちらも、具体的には、何が不満なのでしょうか?
WSHから.NETのオブジェクトにアクセスすることは可能なので、現状でかなりのことが可能です。
Re: (スコア:0)
代わりにmsysでbash使うのは?
Re:今更バッチファイルはないわー (スコア:1)
それで.Netのオブジェクトを扱える?
扱えるんなら、悪くはないんじゃない?
Re: (スコア:0)
まさにこれ。
正直、PowerShellは優秀でも結局ターミナルやらなんやらという土台が無いOS上に高級なCUIを載っけてるのでバランス悪い事この上ないんだけど、WMIオブジェクトやら.Netオブジェクトやらをスクリプトから簡単に扱えるのは、Windowsの自動化に素晴らしく役立つ。
4.0ならWindows Server 2013の大部分にPowerShell Moduleが付いてるからもっとすっごく簡単。
Re: (スコア:0)
何かをやろうとしたときに、「それはPowerShellではまだ出来ないのでそこはbatと組み合わせて」みたいなTIPSを見かけたりしたこともあり、
第2のwshになるかも知れない、と警戒して遠巻きに見守っている状態なんですが。
Re:今更バッチファイルはないわー (スコア:1)
それはPowerShellではまだ出来ないのでそこはbatと組み合わせて
私の経験で言えば、タスクスケジューラから起動するときに、CUIウィンドウを表示させないために、VBSと組み合わせる必要がある、ってのはありましたね。
でも、バッチファイルと組み合わせないとできない、ってのは思いつかないなあ。
第2のwshになるかも知れない、と警戒して遠巻きに見守っている状態なんですが。
WSHの悪い点は、対話シェルの機能を提供しなかったことだと思います。対話シェルが無ければ、cmd.exeの代替にはならない。
もっとも、これはWSH自体が悪かったわけではありませんが。
PowerShellはその点、改善されてますし、サードパーティからも対応製品が出てますしね。PowerCLIとか。
Re: (スコア:0)
>CUIウィンドウを表示させないために、VBSと組み合わせる必要がある、ってのはありましたね。
そんなことできるんですね。これか。
http://www.faqforge.com/windows/how-to-execute-powershell-scripts-with... [faqforge.com]
私もバッチファイルでしかできないことは思い浮かばないですね。
Re: (スコア:0)
PowerShellってcmdletでない、プログラムをパイプでつなげるとやたらコストかからない?
例えばffmpegで動画をデコードしたものをqsvenccに渡す場合
& "cmd /k ffmpeg $foption | qsvencc $qoption"
のように、一度別のプロセスを立ち上げて、powershellを介さないようにしなければいけなかったはず
Re:今更バッチファイルはないわー (スコア:1)
ああ、それはあるかもね。
そもそも、PowerShellのパイプは、.Netオブジェクトの列を渡すためのもので、非構造化バイナリ列を渡すのには向いてないってことは考えられるね。
Re: (スコア:0)
CD¥ が使えない時点で話にならない
Re:今更バッチファイルはないわー (スコア:1)
できるよ。
# コレジャナイ!っていう苦情は却下。
Re: (スコア:0)
そんなあなたに聞きたい。
なんか勉強するいい方法ありませんか。
Re: (スコア:0)
まず使え。次に使え。さらに使え。
それしかないでしょ。
例えば、cmd.exeやvbs、jscriptを使ってたところを、PowerShellに置き換える。
Re: (スコア:0)
Windows Server 系の運用・配備周りでは活躍してますが、
クライアントサイドではようやく XP が消えるのでこれからが本番かと。
#MS 謹製なのに何で入れてくんないんだよ……
Re: (スコア:0)
PowerShellってWindows2000では動かないじゃないか!
正直10年前にほしかった (スコア:0)
Take Command [jpsoft.com]ってのがだいぶ前から存在してましたが。
ちなみにWinBatch [winbatch.com]はバッチファイルとは別物。
Re:正直10年前にほしかった (スコア:1)
WinBatchEn [vector.co.jp]の方は随分お世話になりました
今もバリバリ書いてるわー (スコア:0)
文字通りの主力言語(汗
無理そうなら大人しく他の手段を選びますけど、
MS-DOS 時代からのお馴染みコマンドも /? つけてみるとまあ、
よくぞここまでと呆れるほど拡張されまくってて、
大概の用事はそれだけで片付いてしまいますのでね。
"Visual"ってところに (スコア:0)
強烈な違和感
いじわる C++ (スコア:1)
Visual C++ 1.0 を手に入れた人もコレジャナイって言ってました。