Windowsコマンドラインでの環境変数

1、環境変数の表示
setコマンドで全部表示
set envnameでenvnameを含む環境変数を表示
echo %envname%でenvnameを表示

環境変数PATHはpathコマンドでも表示できる。

2、環境変数を変更または作成

環境変数はカレントプロセスとこのプロセスから起動した子プロセスに適用される。

C#でコマンドを実行して結果を取得する

コマンドラインプログラムを実行して結果を取得する。ここではnetstat -aを実行して結果を得るプログラム。

RedirectStandardOutput = trueすると結果を取得できる。
UseShellExecute = falseにすると、ShellExecuteExではなくCreapteProcessを使う。上記のような作業はパイプを使うのでCreateProcessじゃないと無理と思う。

Windows XPでDNSキャッシュを無効にする

現状のDNSキャッシュを見るにはコマンドプロンプトを実行して、以下のように打ち込む。

> ipconfig /displaydns

DNSキャッシュをクリアするには以下のように打ち込む。

> ipconfig /flushdns

DNSキャッシュ機能をを無効にするには以下のように打ち込む。

> net stop dnscache

有効に戻すには以下のようにする。

> net start dnscache

DNSキャッシュが有効な期限はDNSリソースレコードのTTLとレジストリの設定値に依存する。DNSがポジティブレスポンスを返したときは、TTLとレジストリの設定値の低いほうの値が使われる。このレジストリのキーはHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\ParametersにあるMaxCacheTtl(REG_DWORD)でデフォルトで86400秒になっている。

ネガティブレスポンスのときは同じキーのMaxNegativeCacheTtl(REG_DWORD)で設定されデフォルトでは900秒になっている。ネガティブレスポンスをキャッシュしたくない場合はこの値を0にすればいい。

参考:http://support.microsoft.com/kb/318803