タグ

PowerShellに関するdiet55のブックマーク (19)

  • 窓辺の小石(131) テキストの超弦理論

    Windowsのコマンドのいくつかパイプ処理を想定しておらず、平気で1件のレコードを複数行で出力する。どちらかというと人が見て分かりやすい書式で出力されている。おそらく、cmd.exeでは満足なパイプ処理が行えなかったからだろう。これに対してUnix/Linux系のコマンドは1件1行とするものが多く、人間が見やすいようにするには別途オプション指定するなど、パイプ処理を基にしている。 Windows XPで追加されたtasklist.exeのような一部のコマンドは少しまともである。1行1件の出力を行えるし、“/FO csv”オプションを付けることでCSV形式での出力ができる。しかし、同じXPから搭載されたサービス管理コマンドsc.exeなどは1件の情報を複数行に出力する。 PowerShellには、サービス関連のコマンドが用意されているのでsc.exeを使う必要はない。問題はPowerSh

    窓辺の小石(131) テキストの超弦理論
  • 窓辺の小石(128) 何かが雲からやってくる

    筆者は、雑多な情報をScrapboxというクラウドサービスに記録している。Scrapboxに関しては、以前の記事を参照していただきたい。雑多な情報の中には、プログラムやワンライナーなどのソフトウェアも含まれている。 利用頻度が常に高い情報であれば、ずっと覚えていられるのだが、そうでない場合は、その存在さえ忘れてしまう。筆者は、記憶力には多少自信のあるほうだが、しばらく使わないと完全に記憶が「抜ける」ことがある。いくらファイルに保存しても、存在を忘れたらアウトである。しかし、同じものをまた作るのもムダである。そういうわけで、記録する価値のあるものはScrapboxに記録している。 Scrapboxでは、プログラムなどのコードを入れるための専用のブロックがあり、名前を指定して、それを取り出すことができる。このため、プログラムの説明や、関連情報へのリンク、その他、必要な情報ページへのリンクなどを

    窓辺の小石(128) 何かが雲からやってくる
    diet55
    diet55 2023/08/26
    知らなかった!ScrapboxのコードブロックやGitHubのGistをPowerShellなどから読み込んで、直接実行ができるんだ!/どこで管理するかは微妙。①~/bin ②GitHubのGist ③クラウドのScrapbox ④ローカルのObsidianなど。
  • Speed up Obsidian on Windows by setting process priority to 'High' w/ PowerShell

    diet55
    diet55 2023/08/18
    どうでしょう?
  • リストビューに"ツールチップ"でPowerShellを補完する「PSReadLine」2.3.1β1

    Microsoftは現地時間2023年5月8日、PSReadLine バージョン2.3.1-beta1を公開したと公式ブログで報告した。PSReadLineWindows PowerShell/PowerShellのコンソールに、入力内容を予測して補完するPredictors(予測) IntelliSenseなど多くの機能を追加するモジュールで、PowerShell バージョン7.2以降は標準搭載となる。PSReadLine バージョン2.3.1-beta1はPowerShellギャラリーからダウンロードするか、PowerShellGet バージョン2.x使用時は「Install-Module -Name PSReadLine -AllowPrerelease -Force」、同バージョン3使用時は「Install-PSResource -Name PSReadLine -Prerele

    リストビューに"ツールチップ"でPowerShellを補完する「PSReadLine」2.3.1β1
  • PowerShell Core入門 - 基本コマンドの使い方(249) グラフを書く - csv2barchart.ps1を仕上げる

    数値データからグラフ画像を生成するPowerShellスクリプトの作成も完成目前だ。前回作成したPowerShellスクリプトにはまだハードコーディングした部分がいくつかあるので、今回はこれを整理して汎用的なツールとして使えるように書き換える。 →連載「PowerShell Core入門 - 基コマンドの使い方」の過去回はこちらを参照。 PowerShellスクリプトからハードコーディング部分を書き換え 前回までに、グラフにしたいデータをCSVデータとして用意しておき、これを棒グラフの画像に変換するPowerShellスクリプトを作成した。Google Chartsの利用、Microsoft Edgeの外部からのコントロールなど、PowerShellを使いつつほかの機能を組み合わせて機能を実現している。 機能としては前回作成したPowerShellスクリプトでほぼ網羅しているが、データを

    PowerShell Core入門 - 基本コマンドの使い方(249) グラフを書く - csv2barchart.ps1を仕上げる
    diet55
    diet55 2023/05/08
    「PowerShellスクリプトの優れた部分の一つなのだが(略)後発のプログラミング言語には(略)こうした便利な機能が最初から導入されていることが多い。(略)自動的に整理されたコードが書けるようになっている」
  • 窓辺の小石(110) Scalable Vektor Analysis

    SVGScalable Vector Graphics)は、W3Cで定義した2次元グラフィックス形式で、中身はXMLになっている。今回は、PowerShell Ver. 7.3.3を使って、SVGファイルを処理してみる(Windows PowerShell Ver.5.1ではエラーになる)。 中身を見るだけなら、変数に読み込んで通常のオブジェクトのように扱えばよい。いま、カレントディレクトリに“MySVG.svg”があるとき、「$svg0=[xml](Get-Content .\MySVG.svg)」で変数$svg0に読み込むことができる(写真01)。 写真01: SVGファイルをXMLにキャストして読み込めば、簡単に内容にアクセスが可能になる 読み込まれたSVGは、.NETのオブジェクトである“System.Xml.XmlDocument”になっている。しかし、PowerShellから

    窓辺の小石(110) Scalable Vektor Analysis
    diet55
    diet55 2023/04/21
    「SVG(中略)中身はXML」「mermaidから生成したSVGには、右下に拡大縮小のボタン用図形が含まれている(写真02)。リストでは、の部分である。これを削除」「編集作業を自動化できる。」
  • テキストエディタ「Vim」を、Windowsでも使う方法|技術BLOG|CSC コンピューターシステム株式会社

    今回はLinuxを使ったことがある人ならば必ず使ったことがあるであろうテキストエディタ「Vim」をある目的のためにWindowsにも導入をしたため、その手順と私の目的についてお話します。 Vimは現在では主にLinuxなどのUNIX系OSで広く利用されているテキストエディタです。 UNIX系OSに搭載されているということでも分かるように、操作の中でマウスの出番は一切なく、すべての操作がキーボードだけで完結できるという特徴があります。 キーボード内で完結させるためには、色々な機能をショートカットキーや、コマンド入力で呼び出す必要があり、それを使いこなすにはある程度コマンドを覚えておく必要があります。 そのため、Vimを完璧に使いこなすにはかなり高い知識・技術が必要となり、普通のテキストエディタと比べてかなり癖の強いテキストエディタです。 しかし、そのショートカットキー・コマンドをある程度覚え

    diet55
    diet55 2023/04/21
    「マウスを一切触らないぶん他のテキストエディタに追随を許さないような速度で」「特に、繰り返し系の処理は圧倒的にVimを使ったほうが早く」「コマンドプロンプトから起動するもよし、PowerShellから起動するもよし、
  • 窓辺の小石(105) 完全なる版数

    ソフトウェアには、ほぼ必ずバージョン番号(版数とも)がある。ユーザー側からみれば、最新版を区別するためのものだが、開発者側からみると、さまざまな修正を区別し、作業の経過を示すためには必須のものでもある。 そもそも、“Version”とは、書籍や音楽映画、舞台作品などで、同一タイトルのバリエーションを区別するための用語だ。日語の辞書を引くと「版」のことであるといった表記があるが、日語の「版」には英語のVersionより広い意味がある。Versionに相当する「版」、たとえばテレビ番組をもとに映画を作ったものを「劇場版」と呼ぶこともあれば、書籍の「初版」など、英語の“Edition”に相当する意味もある。Editionは版面がすべて同一のものをさす。誤字を直すなどして版面が異なるものは、別のEditionになる(書誌学的定義)。英語だとVersionとEditionは異なるものだが、日

    窓辺の小石(105) 完全なる版数
    diet55
    diet55 2023/03/18
    「英語だとVersionとEditionは異なる」「セマンティック・バージョニング」「バージョン」「リリース」「リビジョン」「ビルド」
  • 窓辺の小石(104) 危険な「過去」への旅

    コンピュータでは、同じ処理を繰り返し行なうことがある。コマンドラインには「ヒストリ」あるいは「履歴」と呼ばれる機能があり、過去に実行したコマンドラインを呼び出して実行できる。 シェルの履歴機能は、BSD系Unixに搭載されていたcsh(C shell)が最初の実装とされる。cshの作者Bill Joyの「An Introduction to the C shell」によれば、履歴機構はInterlispのREDOから着想を得たらしい。Interlispのマニュアルを見ると「REDO -1」で直前のイベントを再実行できたようだ。 cshには、bashのmanページで「履歴展開」と呼ばれる“!”を使う履歴の呼び出し方法が初めて搭載された。現在のシェルでは、カーソルキーを使って履歴を呼び出していく方法が一般的だが、当初は、“!”文字でコマンドラインから履歴機能を利用していた。 cshの履歴機能で

    窓辺の小石(104) 危険な「過去」への旅
    diet55
    diet55 2023/03/11
    「PowerShell 7.3.3では(中略)グレーの文字でコマンドラインに履歴が表示される(写真02)。このまま文字を入力していくと、前方一致で履歴が検索される。履歴を確定(選択)するには、カーソルキーの右矢印キーを押す」
  • showコマンド拡充の「Windows Package Manager」新バージョン

    Microsoftは現地時間2023年1月23日、Windows Package Manager(winget) バージョン1.4.10173のリリースを公式ブログで報告した。実行にはMicrosoft.WinGet.Client PowerShellモジュールを必要とするため、Microsoft Store経由の自動アップグレードは行われない。新機能を確認するには、GitHubのリリースページから、Windows Desktop App Installerを手動でインストールする。 winget バージョン1.4.10173(公式ブログより) 新バージョンは「show」コマンドで表示するパッケージ情報を拡充し、コマンドエイリアス機能をサポートした。たとえばパッケージ情報を確認するには「search」コマンドを使用するが、お好みで「find」など別のコマンドをエイリアスとして追加できる。引

    showコマンド拡充の「Windows Package Manager」新バージョン
  • 窓辺の小石(97) The Voice of Windows

    筆者が子供の頃に映画やアニメでみた未来のコンピューターはみんなしゃべっていた。なのでコンピューターとはしゃべるものかと思っていたが、実際には、プリンターに文字が出るだけだった。その後、個人でも購入できるコンピューターであるマイクロプロセッサを手に入れたが、ウンともスンとも言わない。部品を集めてコンピュータにして画面に文字を出させるだけで1年かかった。 コンピューターから人の声を出すことを「音声合成」という。人の声の波形は複雑で楽器音のように簡単に作るわけにはいかなかった。なので、8 bitのマイクロプロセッサの時代は、ハードウェアを使わないと音声合成を行うことはできなかった。16 bitのマイクロプロセッサが普及して、ソフトウェアだけでコンピュータに声を出させることが可能になった。しかし、テキストを人間のように、しゃべらせるにはもう少し時間がかかった。Windowsに言葉を話す機能(Spe

    窓辺の小石(97) The Voice of Windows
    diet55
    diet55 2023/01/20
    「Windowsでは、標準で搭載されているWindows PowerShellから直接TTSを使うことができる。」「`$ssynth.Speak('こんばんは')`」「表01は、SpeechSynthesizerのメソッドとプロパティである。」
  • Windowsでファイルやフォルダーに「使わない方がいい」文字 (1/2)

    これらは、MS-DOS時代からのルールである。ある意味、「command.com」のルールだとも言える。これらの文字がファイル名やフォルダー名に使えなくなったのは、コマンドラインで特別な意味を持つからである。MS-DOSはもともとコマンドラインですべての操作をする。このとき、コマンドラインで特別な意味を持つ記号文字に関しては、ファイルやフォルダー名での利用を禁止してコマンドラインやファイル名、フォルダー名の判定を簡略化した。 これらが今でも特殊扱いされていて、ファイルやフォルダーの名前に使えなくなっている。ただし、このことはNTFSやvFATなどのファイルシステムとしての仕様とは部分的にしか関係がない。パス区切り文字としての「\」と「/」は共通だが、他の文字は絶対ファイル名やパス名に入れられないのかというと、実はそうではない。ただし、ファイル名のAPIでもある程度の安全対策がしてあり、渡さ

    Windowsでファイルやフォルダーに「使わない方がいい」文字 (1/2)
    diet55
    diet55 2022/11/12
    「かつては全角文字のファイル名は気持ち悪いと思われていたし(中略)だが、現代では逆に安心して使えるファイル名といえる。それに気がついてから漢字のファイル名に抵抗がなくなってきた。」
  • 「PowerShell 7.3」が正式公開 ~シェル環境としての使い勝手を改善/「.NET 7」ベースの非LTSリリース

    「PowerShell 7.3」が正式公開 ~シェル環境としての使い勝手を改善/「.NET 7」ベースの非LTSリリース
    diet55
    diet55 2022/11/12
    「『PowerShell 7.2』が3年間サポートされるLTSリリース」
  • マイクロソフトのオープンソースソフトウェアを整理する (1/2)

    21世紀に入ってから、マイクロソフトはオープンソースソフトウェア(以下、OSS)に関わりを始めている。以前は距離を置いていたが、最近ではWindowsに標準搭載されるアプリケーションにもオープンソースで開発されたものが含まれるようになった。たとえば、Windows 11なら、「電卓」や「ターミナル」がオープンソースのプロジェクトで開発されたものだ。 マイクロソフトのOSSは現在ではかなりの数になる。すべてではないが、主要なものはマイクロソフトのサイト(https://opensource.microsoft.com/)に記事があるほか、多くのOSSがGitHub(https://github.com/)にある。GitHubは2018年にマイクロソフトに買収された。 GitHubの各プロジェクトのページにRelasesページがある場合、実行可能なパッケージファイルを直接ダウンロードできる。確

    マイクロソフトのオープンソースソフトウェアを整理する (1/2)
  • PowerShell Core入門 - 基本コマンドの使い方(222) PowerShellからMicrosoft Edgeを動かす

    今回からは数回にわたり、PowerShellからMicrosoft Edgeを操作する方法を取り上げていく。作業効率を劇的に引き上げてくれる可能性の高い機能なので、じっくり取り組んで使い方をマスターしてしまおう。 →連載「PowerShell Core入門 - 基コマンドの使い方」の過去回はこちらを参照。 Microsoftプロダクトを操作するPowerShell Microsoftは、PowerShellをWindowsMicrosoftプロダクト/サービスを連携させたり、操作・管理したりするためのシェルに位置付けている。こうしたケースでPowerShellを使わない場合、ユーザーは多くの作業をGUI経由で行うことになる。これは手間もかかるし、ヒューマンエラーも発生しやすい。したがって、PowerShellで業務をシンプルにしていくことが、業務の効率化につながるというわけだ。 Web

    PowerShell Core入門 - 基本コマンドの使い方(222) PowerShellからMicrosoft Edgeを動かす
  • PowerShell Core入門 - 基本コマンドの使い方(221) Webページのスクリーンショットを取得する ページ全体のスクショを撮る

    今回は拡張編として、前回までに作成したWebページのスクリーンショットを取得するスクリプトにWebページ全体のスクリーンショットを撮る機能を追加する。ここまでできるようになれば、業務にも十分使えるはずだ。 →連載「PowerShell Core入門 - 基コマンドの使い方」の過去回はこちらを参照。 前回のおさらい まずは前回のおさらいからだ。前回まででWebページのスクリーンショットを取得するPowerShellスクリプト「getss.ps1」はほとんど完成した。成果物は次の通りだ。 #!/usr/bin/env pwsh #======================================================================== # スクリーンショットを取得する #==========================================

    PowerShell Core入門 - 基本コマンドの使い方(221) Webページのスクリーンショットを取得する ページ全体のスクショを撮る
  • 窓辺の小石(85) 犬(ワン) ライナー

    俗に「1行野郎」あるいは「ワンライナー」(One Liner)と呼ばれるものがある。コマンドラインの1行で意味のある処理を行わせるものだ。「1行でこんなことができるのか!」といった感じのものも発表されていて、パズル的に楽しむ人もいる。これはこれで楽しいのだが、実用としては、「ワンライナー」とは使い捨てのコマンドであり、プログラムを組まねばできないような処理をコマンドラインとして実現するものだ。あくまでもコマンドラインであり、スクリプト(プログラム)とは異なる。両者の違いは微妙だが、たとえば、関数や手続きにする、後で実行できるようにファイルにしてしまえば、間違いなくスクリプトである。 しかし、ワンライナーは、その場限りの実行ができればよく、スクリプトのようにいつでも実行できるように汎用的な記述にする必要はない。必要なパラメーターは、コマンドライン中にハードコードしてもよい。その場限りの「即興

    窓辺の小石(85) 犬(ワン) ライナー
    diet55
    diet55 2022/10/28
    「ScrapBoxは、URLを使ったページ登録やページ内のコードブロックをURLで抜き出すことができる。シェルのヒストリからScrapBoxのページを作る(認証処理のためスクリプトになってしまう)、コードを抜き出してローカルの」
  • PowerShell Core入門 - 基本コマンドの使い方(216) Webページのスクリーンショットを取得する - サイズを指定

    前回、Microsoft Edgeのヘッドレスモードおよびスクリーンショットの取得機能を使用することで、Webページのスクリーンショットをコマンドラインから取得できることを示した。今回はこの機能にスクリーンショットのサイズの指定を追加する。スクリーンショットの取得ではサイズが指定できるかどうかはとても大切だ。 前回の成果物 最初に、前回の成果物を確認しておこう。前回はMicrosoft Edgeのヘッドレスモードでスクリーンショットを取得するコマンドを次のようなPowerShellのスクリプト(getss.ps1)にまとめるところまで説明した。次のようなスクリプトができた。 #!/usr/bin/env pwsh #======================================================================== # スクリーンショットを取得す

    PowerShell Core入門 - 基本コマンドの使い方(216) Webページのスクリーンショットを取得する - サイズを指定
  • エクスプローラーのWindowsサーチ機能ではなく、コマンドラインからテキスト検索をする (1/2)

    Windows Terminalをログイン時に自動起動するようにして、Quakeモードにしたら、これが便利だ。「Win+Shift+@」でいつでもウィンドウが開く。また、筆者の環境では4Kモニターの横幅で開くので2分割しても十分幅がとれる。そういうこともあって、ファイルのテキスト検索をPowerShellで済ませることにした。 実はPowerShellでもテキスト検索ができる PowerShellでファイルのテキスト検索をするには、「select-string」コマンドを使う。基的なコマンドの書式は、 select-string [-Pattern]〈REGX〉 [-Path] 〈PATH〉 である。なお、標準で「select-string」にはエイリアスが設定されていて「sls」と略記できる。「-Pattern」「-Path」オプションも省略可能なので、 sls '検索' *.txt

    エクスプローラーのWindowsサーチ機能ではなく、コマンドラインからテキスト検索をする (1/2)
    diet55
    diet55 2022/08/28
    「これに対して、コマンドラインからの検索は、フォルダーなどを特定する必要はあるものの、その場で実行できる、事前のインデックス作成は必要ない。それでいてエクスプローラーの検索よりも遅いわけでもないのだ」
  • 1