PowerShell

LANに接続している機器のIPv4アドレスを列挙する(ping絨毯爆撃) Windows無情編

続きというか、以前はUnix環境での話だったので、今回はWindowsでpingで絨毯爆撃してLANに接続している機器のIPアドレスを列挙してみたい。eel3.hatenablog.comまずはシンプルに、バッチファイルで逐次実行する方法。 @echo off setlocal set ADDRBASE=192.0…

シミュレーション用のREPL環境としてPowerShellを使う

プログラマにとって、使い慣れたプログラミング言語のREPLは非常に便利なものだ。電卓代わりの計算機としても、コーディング時にちょっとした機能を探求的に実装していく実験環境としても、REPLは非常に重宝する。ここ2~3年は、ちょっとしたシミュレーショ…

ゼロパディングされた連番を出力+ディレクトリを作成

1〜12月の各月のデータを格納する目的で、ゼロパディングされた数値でディレクトリを作成したい。楽をしたいので、まずはゼロパディングされた連番を出力する方法を探ってみた。 シェルスクリプト(/bin/sh)の場合 seq(1)には、ゼロパディングして数値の幅…

そろそろPowerShellについてひとこと言っておくか

端的に言おう。2014年4月こそPowerShellを猛プッシュするのに好都合な時期だったというのに、本日に至るまでどこも平常通りの運行なのはなぜだっ。もっと熱くなれよ!……ちょっと取り乱した。気を取り直して、解脱解説しよう。 2014年4月でWindows XPサポート…

Windows PowerShellの罠――trap文概論

PowerShell 1.0の頃から例外処理用にtrap文が用意されていて、これがまた興味深い。trap文の元となったのは、おそらくBourne shellの系統のシェルに用意されている組み込みコマンドtrapだろう。『Windows PowerShellインアクション』1.2.1によれば、PowerShe…

GnuPGで公開鍵暗号方式でファイルを暗号化する為のGUIラッパー

id:eel3:20130526:1369569828 の続き的なネタ。GnuPGで公開鍵暗号方式でファイルを暗号化する場合、使用する公開鍵を指定しなくてはならない。復号化する相手が決まりきっている場合は、バッチファイルに使用する公開鍵まで含めてコマンドを記述しておき、そ…

「クリップボードのテキストをGnuPGで復号化」の代替品の代替品

id:eel3:20120521:1337527087 にて、Windows上でクリップボードにコピーされているGnuPGの暗号化テキストを復号化してテキストビューアで表示するツールを作成した。あのツールはバッチファイルで実装していて、GnuPG(gpg.exe)とttPageとクリップボード上…

変態的PowerShell書法入門 時代遅れひとりFizzBuzz祭り Windows PowerShell続編

2013年の年頭にあたり、プログラマらしくFizzBuzzをば。Windows PowerShellは強力な反面癖もある言語で*1、基礎文法に関しても強力だけど普段使うことが少ない機能がある。最近PowerShellでツールを作っていて、そんな「強力で面白いけど色々あって使わない…

スクリプトブロックは本当に親スコープの変数を書き換えられないのか?

PowerShellでは基本的に、親スコープの変数を参照することはできても、それを書き換えることはできない。この規則はスクリプトプロックにも適用されている。 $x = 1 2..5 | & {process{$x = $_}} $x # => 1このコードを実行すると「1」が表示される。スクリ…

WSHでファイル選択ダイアログを表示するのに飽きたので、他言語にて。

飽きた。ファイル選択ダイアログを表示する為の標準的な手段が用意されていないのにダイアログを表示しようだなんて高望みするから妙な苦労をするのだ。やはりここは別の言語に活路を見出すべきだろう。 PowerShellの場合 例えばPowerShellなら.NET Framewor…

8つの言語で1つのツール(2つのコンソールアプリの出力を加工する類のツール)を書き比べた

id:eel3:20120116:1326675419 で書いたように、funclenというC言語用の行数計測ツールを使っている。単純にソースファイル中に定義されている関数名を列挙するだけにも使えるが、ある条件の時に誤った関数名を出力してしまう。なのでExuberant ctagsとgawkを…

vimにWindows PowerShellの編集環境を追加する

これも備忘録。id:eel3:20110701:1309532287 のGoに続き、今度はPowerShellの編集環境を整えてみたので、その作業内容も記録しておく。しかし何というか、vimでWindows用のプログラミング言語の類を編集するというのも妙な気分ではある。でも便利だからなあ…

コレクションの大きさはプロパティLengthで取得するべきか、それともMeasure-Objectか?

PowerShellといえばオブジェクト・パイプで、オブジェクト・パイプといえばオブジェクトのコレクションだ。コマンドレットにはコレクションを返すものも多いし、それをパイプ経由でForEach-ObjectやWhere-Objectで処理することも多々ある。ところで、時々あ…

コマンドプロンプトからWindows PowerShellを活用するあれこれ

Windows PowerShellは確かに良いツールだ。それは認めよう。しかしUIとしては未だにウィンドウを最大化できないのは正直問題じゃないかと思う*1。何よりコマンドプロンプト上で構築してきた既存の資産もある訳で、全面的にPowerShellに移行するよりも、既存…

時代遅れひとりFizzBuzz祭り Windows PowerShell編

時代遅れひとりFizzBuzz祭り、今回はWindows PowerShell。前回のバッチファイルとの繋がりなんて言う必要があるとは到底思えないが、あえて言っておく。PowerShellはポスト・コマンドプロンプトの座に納まることが期待されているCUIツール/スクリプティング…