PowerShellでcmdのdirっぽいワンライナー

もう何年間も前からWindowsではコマンドプロンプトが時代遅れなのだそうだ。

またひとつDOS世代のレガシーが消えた…… 古いと言われても「コマンド プロンプト」が好きなんだ! – 窓の杜

窓の杜の記事ではわざわざ消されたレガシーを復活させるテクを紹介しているし、今のWindows11でもcmdと入力すればコマンドプロンプトは使える。でも、消されたレガシーにしがみつくより今どきのトレンドに追いつきたい。

PowerShellに馴染もうと努力はしているものの、どうしても馴染めないのがdirコマンド(エイリアス)。dirはGet-ChildItemのエイリアスでしかないから、いくらdirしてみたところでそっけない既定のChildItem一覧が出てくるだけ。せめてファイルサイズのカンマ区切りとか、合計ファイルサイズとか、ファイルとDIRの区別とかもうちょっと工夫して見せてほしい。これのために結局 cmd /c dir とかやる羽目になる。

まあ、PowerShellはMS肝いりの本格派オブジェクト指向スクリプト言語処理系難読ワンライナー製造機なんで、それっぽい表示をするようにワンライナーしてみる。

dir -Path C:\TEMP | sort -Property FullName | % -Begin {$files=0;$dirs=0;$size=0} -End {echo "$($files.ToString().PadLeft(16)) 個のファイル $($size.ToString('#,0').PadLeft(19)) バイト`n$($dirs.ToString().PadLeft(16)) 個のディレクトリ"} {echo "$($_.LastWriteTime.ToString('yyyy/MM/dd  hh:mm ')) $(if($(($_.Attributes -band [System.IO.FileAttributes]::Directory) -ne 0 )){$dirs+=1;'  <DIR>'.PadRight(16)}else{$files+=1;$_.Length.ToString("#,0").PadLeft(16)}) $_";$size+=$_.Length;}

コードは見難いが表示はそれっぽくなった。

functionにするとちょっとは使いやすくなるかも。

function dirs() {
	dir $args | sort -Property FullName | % -Begin {$files=0;$dirs=0;$size=0} -End {echo "$($files.ToString().PadLeft(16)) 個のファイル $($size.ToString('#,0').PadLeft(19)) バイト`n$($dirs.ToString().PadLeft(16)) 個のディレクトリ"} {echo "$($_.LastWriteTime.ToString('yyyy/MM/dd  hh:mm ')) $(if($(($_.Attributes -band [System.IO.FileAttributes]::Directory) -ne 0 )){$dirs+=1;'  <DIR>'.PadRight(16)}else{$files+=1;$_.Length.ToString("#,0").PadLeft(16)}) $_";$size+=$_.Length;}
}

カレントディレクトリ(.)と親ディレクトリ(..)が無いとかそういうのは無しで。できるだけ簡単にしたのでカスタマイズはコードを直接変更する。

サブフォルダも見る場合は最初のGet-ChildItem に -Recurse オプションを追加。
dir -Recurse C:\TEMP

並べ替えは途中のsortをいじる。
# 更新日降順
Sort -Property LastWriteTime -Descending

最後の$($_.Name)”} をFullNameにするとフルパスで表示する。
$($_.FullName)”}

IC-R6でCWやSSBを聞いてみる。

ICOMのIC-R6を買ってきた。

アイコム 広帯域ハンディレシーバー 0.100~1309.995MHz IC-R6 – アマゾンCQオーム

受信活動にはIC-R8600があるから要らないと思って受信用のICF-SW7600GRとかVR-500や受信範囲の広いFT-60を手放したけど、やっぱり手軽に受信をしたいと思ってIC-R6を買った。IC-R6は長い期間売られているだけあって使い勝手が良い。それに2009年暮れに発売のIC-T70と2010年年始に発売のIC-R6で操作性がかなり似ていて、今使っているIC-T70に慣れていればIC-R6は違和感なく使える。VR-500とFT-60は同じテンキー搭載にもかかわらず、全くと言っていいほど操作感が異なっていて馴染まなかった。スタンダードもスタンダード時代のヤエス機も操作性がいまひとつ良くない気がする。HF機はYAESUブランドに戻ってから少しましになってきたらしい。

アイコム IC-R6のレビューは山ほどあるから他を見てもらうとして、開封して一番気になったのが付属アンテナのFA-S270C。これは、IC-T70、S70やID-51についているものと同じ。メーカーのスペックを引用すると次の通り。

日本より広い海外の144/430アマバンドに対応している。当然送信も可。よくあるショートタイプのフレキシブルホイップアンテナで、144MHz帯は短縮1/4λ、430MHz帯はフルサイズ1/4λ。少し硬めのフレキシブルさで特小機に固定されたアンテナに近い雰囲気。受信専用の針金が入ってるだけのアンテナではなく、送信に耐える(マッチングがとれている)アンテナが付属しているとは思わなかった。

少なくとも2000年前後のラジオライフ誌などに「付属アンテナはデザイン優先で性能が良くないから社外品アンテナに交換しよう」みたいなことがよく書かれていて、確かに90年代の第二次ハムブーム以降のハンディ機の付属アンテナは144MHzも430MHzも1/4λ未満のリップクリームのような形状のヘリカルホイップをよく見かけた。このタイプは確かに1/4λ形式といっても放射効率が良くないので交換したほうが良いかもしれない。

じゃあ、IC-R6ではどうなんだとなると、素性が分かっている分、交換すべきかどうかを判断しやすい。144/430ハムバンド前後の特小やアナログの各種業務無線、国際VHFくらいなら交換しなくても問題ないし、エアバンドや短波は144/430ハムバンドから離れてしまうので交換したほうが良い。アマゾンのレビューでもおまけ程度の付属アンテナと表現している人もいるけど、受けたい周波数によっておまけと捉えるか、送信にも対応する本格的なアンテナと見るか、意見が分かれる。IC-R6の一番のユーザ層と思われるエアバンド受信なら変えたほうが良いかも。自分の場合は430アマバンドの呼出周波数待機に使うので付属アンテナで問題ない。コネクタ部分の隙間の見た目や防水性能を考えると附属の純正アンテナのほうが好ましいともいえる。

ところでVR-500からIC-R6に変えて機能で一番マイナスだと思うのはCW/SSBに対応していないこと。高級機と普及機の差で、これは仕方がない。まあVR-500で7MHzのSSBを十分堪能できるかと聞かれたら、はっきりいってNoとしか答えられないが、できるかできないかで言えばできたほうが良いに決まってる。

でも、普及機でCW/SSB受信機能が無いIC-R6でも3アマで学んだ無線工学の知識を応用すればCW/SSBを受信できる、はず。最近のDSP機がどうやっているのかは知らないが、3アマ教科書的な受信機の場合はBFOと呼ばれる局部発信機を持っていて、それを受信信号と混合することで送信時に抑圧されたキャリアを復元する。言葉で言ってもよく分からない。

この絵で解るかどうか疑わしいが、キャリアに相当する信号を復調したいSSB信号のそばに挿入すれば「単側波帯抑圧搬送波(J3E)」が「単側波帯全搬送波(H3E)」になる。側波帯は片側しかなくても搬送波が受信帯域に入っていれば通常のAM検波回路で復調できる。

やり方は簡単で、アンテナ付近かR6本体付近にディップメーターを置き、受信したい周波数付近で弱い信号を出す。目的の信号付近で周波数ダイヤルや出力ボリュームを微妙に上げ下げしたり、ディップメータを置く場所を調整して、SSBのモガモガ信号やCWのコツコツ信号の上下に注入してやると何となく音声やCWトーンになって聞こえてくる。

注意したいのは、注入する信号はあくまでもキャリア(BFO)の代わりになるものであって、以前やった短波コンバーターのように混変調を発生させるものではないこと。キャリアを飽和しない程度の強さで入れる(二信号を加算する)とSSB/CW復調のBFOになって、飽和する強さで入れる(二信号を乗算する)と周波数変換のミキサ用局発になる。原理的でおもしろい。

微弱な信号を入れられればなんでも良いわけで、アンテナアナライザの出力を使っても良い。こちらは10mWもあるし、出力も調整できないのでアンテナを外して漏れてくる信号や、アッテネーター、ダミーロードやごく短い銅線をつないだりする。アンテナアナライザだと周波数が明確にわかるから調整がやりやすい。他にも局発が漏れる短波ラジオでも同じように使えるはず。

実際に試すとCWは割と簡単に復調できる、SSBの復調にはかなり微妙な調整と運が必要。あくまで実験、過度な期待は禁物。とはいえ、こういう試行は経験しておくときっと何かの役に立つはず。

やりかたとして元の信号に入れる方法以外に、普通の受信機のように中間周波数に入れる方法もあるが、IC-R6のシールドや入力段フィルタが良いのかうまく注入できなかった。他の工夫として、こんな不安定な結合にせずT型のSMAコネクタとSGを使ってもっと安定的に挿入する手もある。部材が手元にあれば試すのも有り。IC-R6に限らずVR-160でも、中国製短波ラジオでもAM受信モードなら同じようにできるはず。

ソニーのラジオを新品で買った。

ICF-M870Nをしばらく便利に使っていたが、モノラルでタイマーオフ/オン機能付きを据え置きで使うならIC-R8600があればいいという結論に達して手放した。まあまあ良い値段で売れた。

ここしばらくの市販ラジオの動向を見ている限りパナソニック、東芝、ソニーなどの日本ブランドメーカー製のラジオは大半DSP化してしまった。DSPのほうが性能は良いし、チューニングしやすいということになっているが、(単三・単四モデルだと)電池は持たないし、VRでチューニングするタイプは動かすときに息つくような動作が今一つ好きになれない。

とりあえず自分は古いタイプの人間なのだと自覚したから、今のうちにバリコンでスーパーヘテロダイン方式なラジオが欲しくなった。ハード●フを覗いてきたら、バブル前夜な単体オーディオで完全にアナログ方式のAM/FMチューナーが500円くらいから売られていて、フライホイールを抱くチューニングフィールが懐かしいが、ポータブルやコンパクトラジオは全く出ていなかった。災害対策や携帯の障害対応でコンパクトなラジオの中古はあまり出回らないのかな。

諦めて調べると国内家電メーカー大手日本ブランドの現行ラジオでバリコン仕様のスーパーラジオはソニーのICF-306ICF-B99ICF-B09だけらしい。B99とB09はダイナモ付きの防災ラジオで、普通のバリコン仕様なポータブルラジオはICF-B306だけということになる。ICF-306を買った。

ICF-306と同じデザインのアナログ表示ラジオにICF-P27とICF-P37がある。P27とP37は前機種のP26とP36のリニューアル版で、アナログICからDSPに新世代アナログICになった。ICF-306もICF-307 (?)でリニューアルしてDSP新世代アナログICになるかディスコンになるのも時間の問題だろう。たぶん部品かメーカーの在庫が尽きたら終売だと思う。
→よく調べたら、ICF-P27とP37で使用されているラジオICは「フルCMOSワンチップのAM/FMラジオチューナーIC」の三信電気 SSS16R1482。フルアナログのスペシャルファンクション。従来のアナログラジオICの中に局発PLLとその制御部、同調、IFフィルタを押し込んだようなものか。It’s a analog radio.

SSS16R1482リリース – 三信電気株式会社

ICF-30はICF-801より感度のバランスが良い(感度が悪い)分、チューニングの勝手が良い。ロッドアンテナでFM補完放送も入るし、夜間のAMは中韓の放送もきちんと分離できる。(この辺で一番強力なCBC 1053kHzの1ステップ下にCRIがある。これが分離できれば性能は十分) ICF-M870Nより作りはチープだけど安心できる音質。

窓ガラスコンデンサをマグネット脱着にする。

ATUエレメントの窓ガラスコンデンサの脱着を容易にするためにマグネットを追加。

元の話題:
穴をあけずにロングワイヤーアンテナを設置したい。

1.セリアで4個110円のネオジム磁石を2セット買う。

2.コンデンサの極板にマグネットを貼り付ける。接着剤でも良いが、とりあえず粘着テープで止めるだけ。磁石の極の向きを揃えておくほうが良い。

3.窓に取り付けてみる。6mm厚のガラス+0.3mm厚銅板2枚を挟んでもピタっとくっついて気持ちいい。磁石のおかげで位置合わせが一発で密着性も向上。

磁石だけでも固定はできるが、ズレると一気に外れてしまうから屋外側は粘着テープでの固定も行う。外出時は落雷対策のために取り外しするので、部屋中は磁石だけにしておくと簡単。

「汽車ごっこ」の思い出。

子供の遊びにある「汽車ごっこ」。両手を前後に動かしながら歩くような遊戯。幼稚園でさせられるのはあまり好きではなかった。

当時は世間から蒸気機関車は引退した後で、テレビなどで見る程度。現物に触れられるのは公園に雨ざらしで遊具として置かれているものくらい(今は塞がれているが、当時はデゴイチに乗り込んで遊べたし、炭水車に乗ると煤が靴底に付いた)だったが、SLのクランクは死点で不動になることを防ぐために左右で90度の位相差があることは、蒸気の排気音のタイミングなどから理解してて、「汽車ごっこ」の手の動かし方が左右同時だというのにそこはかとなく違和感を持っていた。

蒸気機関車の車輪についている主連棒は左右同じ動きですか? – Yahoo!知恵袋

「汽車の車輪の動きは右と左でずれているはずだから、この動かし方はおかしい。」と周りの人に言っても「それはおかしい。自転車なら左右反対だが、汽車なら同じだ。」と大人でも言ってきて相手にされなかったから、まあ遊びやし、どうでもいいわってなった4歳の夏。この園児マセ過ぎ。

この時点で鉄道マニアの路から電子工学マニアへと進路が変わった気がする。