量産メモ帳

忘れっぽいのでメモを残しています。

Windows

Windowsでファイルを開いているプロセスを特定する。

ファイルを開いているプロセスを特定する場合、Linux だと lsof というコマンドで解決できるんですが、Windows の場合、SysInternals を使えば解決できます。 https://technet.microsoft.com/ja-jp/sysinternals/

VTRootフォルダをクリアする。

大晦日なのでディスク内を大掃除していたら、Cドライブ直下に VTRoot という名前の 1GB 以上の容量を持つフォルダがあることに気付きました。 …いや、だいぶ前から気付いていたんですが、てっきり Windows が管理するフォルダだと思い込んでいました。

アクセス拒否されてしまうフォルダを削除する。

フォルダを削除しようとすると、こんなエラーが出ることがあります。 この操作を実行するにはアクセス許可が必要です。 このフォルダを変更するには、{ユーザー名}からアクセス許可を得る必要があります。 これは以下の2つのコマンドを実行すれば、削除でき…

リモートの Windows マシンにログインしているユーザーを表示する。

リモートの Windows マシンにログインしようとした時、他のユーザーがログインしていても、ユーザー名が表示されないため、誰がログインしているのか分からないことがよくあります。 その場合、コマンドプロンプトを開いて下記のコマンドを実行すれば、直ぐ…

Windows のバイナリファイルの依存関係を調べる。

先日の regsvr32.exe の問題で、レジストリの登録に失敗したバイナリファイル(*.dll)が依存しているファイルが何なのか知りたくなりました。 rms-099.hatenablog.jp 少し調べてみた結果、Visual Studio に付属している dumpbin.exe を使えば良いことが分かり…

Inf2Cat.exe を使ってドライバのカタログ(*.cat)ファイルを作成する。

NVIDIA のインストーラを実行すると、以下の様な形式のフォルダにディスプレイドライバ関連のファイルが解凍される。 C:\NVIDIA\DisplayDriver\{Driver Version}\{OS Name}\International\Display.Driver 自分がインストールしたバージョンは 332.21 だった…

bcdedit.exe を使ってドライバーの署名制限を無効化する。

この辺から怪しくなってくるけど、bcdedit.exe というツールを使って、ドライバーの署名制限を無効化することにした。 理由は、自己署名の証明書をドライバーのカタログファイルに添付してもインストールできなかったため。 コマンドプロンプトを管理者モー…

signtool.exe を使ってドライバのカタログ(*.cat)ファイルに署名する。

signtool.exe も Windows SDK に付いている。 自分はこんな感じで実行した。 cd "C:\Program Files (x86)\Windows Kits\8.1\bin\x86" signtool.exe sign /a /v /s MY /n MyPrivateCert /t http://timestamp.verisign.com/scripts/timstamp.dll "C:\NVIDIA\Di…

makecert.exe を使って自己署名証明書(*.cer)ファイルを作成する。

makecert.exe は Windows SDK をインストールすると付いて来る。 自分は Windows SDK for Windows 8.1 をインストールしたので、こんな感じで自己署名証明書ファイルを作成した。 cd "C:\Program Files (x86)\Windows Kits\8.1\bin\x64" makecert.exe -r -pe…

VBA プログラムでよく使ったオブジェクト・メソッド・プロパティ・定数

こんなキャンペーンをやっているので、記事を起こしてみました。 Windows/Office武勇伝 <Surface Proが当たる! 開発者グループOPENキャンペーン> Windows武勇伝でSurface Proを当てよう! 開発者グループOPENキャンペーン - はてなブログ 自分が作成また…

Javaプロセスのヒープメモリを解析する。

たまに必要になるが、やり方を忘れてしまうのでメモを残しておく。 コマンドプロンプトを開いて、以下の3つのコマンドを実行する。 jps -lm jmap -dump:format=b,file=java.hprof (JavaプロセスのPID) jhat java.hprof jhat の起動に成功すると、コンソール…

文字列を含むファイルをカレントディレクトリから再帰的に検索する。

Linux だとこんな感じでできるけど、、 grep -R -l "(検索したい文字列)" * Windows にも珍しく便利なコマンドがあって、こんな感じでできる。 findstr /S /M /L "(検索したい文字列)" * また、正規表現を使って検索する場合は以下の通り。 Linux grep -R -l…

バッチの中でファイルに日付文字列を付けて別名保存する。

バッチの中で、あるファイルの名前に yyyyMMddHHmmss 形式の日付文字列を付けて別名保存したい場合、保存自体はは copy コマンドを使えばできるので記載は省くとして、少し面倒なのが日付文字列をどうやって取得するのかという点。 結論を先に書くと、こんな…

Cygwin を使って複数のファイルの文字コードや改行コードを一括変換する。(nkf 使用編)

以前、perl を使用して行なったけど、nkf を使ったやり方もあるので、メモを残しておく。 複数のファイルの改行コードをLFに一括変換 - 量産メモ (perl 使用編) 必要なもの: make nkf make のインストール: Cygwin の setup.exe を実行する。 Devel カテゴ…

複数のファイルの改行コードを LF に一括変換する。(perl 使用編)

コマンド例: find . -name "*.*" | xargs perl -i.bak -pe "s/\r\n/\n/" ファイルの改行コードを CR+LF から LF に変更する。 元のファイルは拡張子 bak を付けて退避する。 Windows 上で変更する場合、Cygwin をインストールすれば実行可能。 参考資料: …

バッチファイルで参照可能なパラメーターの一覧を表示する。

バッチファイルの中で使用する %~dp1 のような特殊なパラメーターの一覧は、何処に載っているんだろうという疑問を長年持ち続けていたが、あっさり解決した。 コマンドプロンプトで call /? を実行するだけだった。 > call /? バッチ プログラムを別のバッチ…

memcached を起動する。

起動自体は簡単で、MSYS コンソールで以下のコマンドを実行すれば良い。 $ memcached.exe -E ./.libs/default_engine.so コマンドプロンプト上で動かしたい場合はこうなる。 > memcached.exe -E .libs\default_engine.so memcached がリスンするデフォルトの…

memcached を Windows 上で動かす。

memcached を Windows 上で動かせるようになるまで幾つかハマったので、メモを残しておく。 必要な作業: MSysGit をインストールする。 Cygwin も選択肢の一つだったけど、最低限の機能だけあれば良いので、MinGW(MSYS) を選んだ。 かつ、MSYS に Git も付…

memcached をインストールする。

libevent のインストールが済んだら、いよいよ memcached がインストール可能になる。 例えば、/c/opt の下にインストールしたい場合、MSYS コンソールで以下のように実行すれば良い。 $ cd /c/opt $ git clone --branch engine-pu https://github.com/memca…

libevent をインストールする。

memcached のビルドは、前述した MSYS のコンソール上で行う。 もし閉じてしまった場合は、以下のバッチファイルを実行すれば再表示されるはず。 C:\msysgit\msysgit\msys.bat ただし、memcached をビルドする前に libevent をインストールしておく必要があ…

MSysGit をインストールする。

MSysGit のインストール手順を記載しておきます。 MSysGit の Full Installer をダウンロードする。 Google Project Hosting 今回ダウンロードしたファイル … msysGit-fullinstall-1.8.1.2-preview20130201.exe Net Installer の方でインストールしてしまう…

エクスプローラーのコンテキストメニューの「WinMerge」メニューの名前を日本語にする。

ファイル比較ソフト WinMerge を使うと、エクスプローラー上でファイルを簡単に比較できる。 けれども、デフォルトだとコンテキストメニューに表示されるメニュー名が「WinMerge」となっていて、パッと見で分かりづらい。 しかし、以下のようにオプションを…

1行のコマンドで空フォルダを一括削除する。

フォルダを整理していたら、結構な数の空フォルダがあることに気付きました。 実際にはシステム属性のファイル(例:desktop.ini、Thumbs.db)など隠しファイルがあったりしますけど、空フォルダであれば、そういったファイルは基本的には不要だと思われます…

ハードディスク故障の原因と対策について。

ハードディスクの名目上の寿命は、1日8時間のペースで使用し続けたとしても100年以上あるらしいです。 ハードディスク 寿命 ハードディスク大量搭載実験研究サイト HDD番長 しかし、私が今まで使用してきたPCのハードディスクは全て5年前後で寿命*1を迎えま…

USBフラッシュメモリの安全な取り外しができない場合の解決方法。

FドライブにUSBフラッシュメモリが刺さっている前提として、それを安全に取り外そうとしても、以下の4つのハンドルが残っていて、取り外しができなくなってしまった。 F:\$Extend\$RmMetadata\$Txf F:\$Extend\$RmMetadata\$TxfLog\$TxfLog.blf F:\$Extend\$…

コマンドラインからUSB接続デバイスを外す。

DevCon パッケージファイル(DevCon.exe)をダウンロードする。 http://download.microsoft.com/download/1/1/f/11f7dd10-272d-4cd2-896f-9ce67f3e0240/devcon.exe DevCon.exe を実行して、以下のファイルを解凍する。 i386\devcon.exe ia64\devcon.exe EULA.t…

Windows のプロダクトキーを再インストールする方法。

全部試していないけど、これでできるらしい。(実行は自己責任で!) 「コマンドプロンプト」を右クリックして「管理者として実行」をクリックする。 以下のコマンドでプロダクトキー(Activation ID)を確認する。 slmgr /dlv 以下のコマンドでプロダクトキ…

Apache のモジュール mod_proxy_balancer を使ってロードバランシングを行う。

例として、以下のサイトが動いている前提で、、 http://localhost/ http://192.168.0.1/ http://192.168.0.2/ httpd.conf を以下の様に編集して*1、HTTPD を再起動すれば、、 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_balancer_modul…

レジストリを直接編集して IPv4 と IPv6 の DNS サーバーの指定を変更する。

事の発端は IPv4 の「プロパティ」ボタンが押せなくなってしまったこと。(下図左側) 一方、IPv6の「プロパティ」ボタンは押せる。(上図右側) UAC やアンチウィルスソフトを無効にしても変更できないままだったので、原因は不明。 ちなみに【ローカルエリア接…

Eclipse CDT で Unresolved Inclusion エラーが発生する場合の対処方法について。

C/C++ のコンパイラにパスが通っていないことが原因だと思われたので、手っ取り早い解決方法として MinGW をインストールすることにしました。 MinGW | Minimalist GNU for Windows