Windows: こんなオプションがあったんだ、というコマンド。「sort /unique」ほか。
Windows のコマンドプロンプトで使えるコマンドから、こんなオプションがあったんだ、と驚いたものを紹介します。 動作確認環境 Windows 11 Home 22H2 sort /unique /case MS-DOS の時代からある sort コマンド。文字列を行単位で並び替える(ソートする)コマンドですが、いつの間にか /unique オプションが追加され、重複文字列の削除ができるようになっていました。 たとえば次のファイルに対して、 単に sort すると ABC 順に並び変わるだけで […]
dumpbin /headers が想定外の値を返した話
「dumpbin /headers ファイル名」が想定外のビット数を報告してきて戸惑った話です。 動作確認環境 Windows 11 Home 21H2 Visual Studio Community 2019 System32 と SysWOW64 64bit 版 Windows では、64bit 版のシステムファイルが「C:\Windows\System32」内に、32bit 版のシステムファイルが 「C:\Windows\SysWOW64」に格納されています。 しかし、各ディレクトリにある […]
dumpbin.exe は link.exe の単なるラッパーだった
モジュールの調査でよく使う dumpbin ツールが、リンカーの単なるラッパーだったという話です。 動作確認環境 Windows 11 Home 21H2 Visual Studio Community 2019 便利な dumpbin EXE や DLL の調査に便利な dumpbin ツール。特に次のオプションはよく使います。 /headers : ヘッダー情報を表示 /dependents : 依存 DLL を表示 /exports : エクスポート情報を表示 /imports : インポ […]
フルパス名で指定したファイルを Copy Here
エクスプローラーで表示している場所に、フルパス名で指定したファイルをコピーする方法です。 動作確認環境 Windows 10 Home 21H2, 64bit コピー手順 このファイルを、 エクスプローラーで表示しているこの場所にコピーしたい。 フルパス名をクリップボードにコピーして、 エクスプローラーのアドレスバーに「cmd /c copy 」と入力後、 [Ctrl]+[V] キーを押してフルパス名を追加し、 [Enter] キーを押すとファイルがコピーされます。 ※ 注1. コピー元としてワ […]
コマンドプロンプトの、たぶんあまり知られていないテクニック
Windows のコマンドプロンプトを便利に使うための、たぶんあまり知られていないテクニックを 5 つ紹介します。 動作確認環境 Windows 10 Home 21H1, 64bit ファイルのフルパス名を表示する dir コマンドは、通常、狭義のファイル名(ベースネーム+拡張子)を表示します。たとえば、Windows のシステムディレクトリにて「dir kernel*.dll」と入力すると、次のように表示されます。 この dir コマンドに「/s /b」オプションを付加すると、フルパス名が表 […]
rundll32 が関数に渡す引数は何なのか
概要 Windows 付属の rundll32.exe コマンドを利用して、指定した DLL 内の関数を呼び出すことができます。このとき rundll32 が関数に渡す引数について、やや詳しく説明します。 動作確認環境 Windows 10 Home 21H1, 64bit(ただし、今回は 32bit の C:\Windows\SysWOW64\rundll32.exe モジュールについて扱います) Visual Studio Community 2019 rundll32 の使い方 rundl […]
コマンドプロンプトから自分自身の PID を取得する方法
コマンドプロンプトから自分自身の PID(プロセス ID)を取得する方法について、失敗例も含めて説明します。 動作確認環境 Windows 10 Home 21H1, 64bit tasklist のフィルター機能 Windows 付属の tasklist コマンドを使うと、実行中のプログラムとその PID などの一覧が表示されます。 この tasklist を利用して現在のコマンドプロンプトの PID のみを抜き出せないかと、tasklist のヘルプを見てみました。 すると「/FI フィルタ […]
ヘッダファイルやライブラリを where コマンドで探す
Visual C++ のヘッダファイル (.h) やライブラリ (.lib) は、あちこちに分散していたり、バージョンアップのたびに場所が変わったりして、何がどこにあるのかすぐに分からなくなってしまいます。そんなとき、通常は実行ファイルの検索に使う where コマンドを利用して、ヘッダファイルやライブラリを探すことができます。 動作確認環境 Windows 10 Home 21H1, 64bit Visual Studio Community 2019 ヘッダファイルを探す where コマン […]
コマンドプロンプトから音を出す方法
Windows のコマンドプロンプトから音を出す方法をいくつか紹介します。 動作確認環境 Windows 10 Home 21H1, 64bit 方法 1. 「^G」を出力して音を出す コマンドプロンプトから「^G」を出力することで音を出すことができます。「^G」と表記していますが、これはバイナリデータの「0x07」、ASCII コードの「BEL」を意味します。 echo コマンドを使って「^G」を出力してみましょう。 コマンドプロンプト (cmd.exe) を起動します。 「echo ^G」と […]
Windows のデフォルトの環境で、バイナリファイルを作る方法
バイナリエディタをインストールしていない Windows のデフォルトの環境でバイナリファイルを作る方法をいくつか紹介します。 動作確認環境 Windows 10 Home 21H1, 64bit 方法 1. メモ帳とIME でバイナリファイルを作る メモ帳と IME(かな漢字変換)を利用してバイナリファイルを作成できます。入力できるバイナリデータは、「0x01」~「0x1F」と「0x7F」「0x80」です。 たとえば「0x1C」を入力するには、全角 4 桁 16 進数で「001c」と入力後、[ […]