カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

環境変数(Environ)

VisualBasicでWindowsの環境変数を利用する方法をご紹介します。

例)Explorerなどを起動する

Call Shell("explorer")

実行ファイル名(拡張子を除く)のみでOK。パスは環境変数Pathから取得してくれます。

その他の環境変数の取得

書式

Environ("環境変数名")

Windowsディレクトリ
※WindowsディレクトリはOSによって「windows」や「winnt」などと違いがあるので注意

Environ("windir")

ユーザーディレクトリ

Environ("userprofile") 'C:\Documents and Settings\Administrator

ProgramFilesのパス

Environ("ProgramFiles") 'C:\Program Files

CommonProgramFilesのパス

Environ("CommonProgramFiles") 'C:\Program Files\Common Files

Application Dataディレクトリのパス

Environ("appdata") 'C:\Documents and Settings\Administrator\Application Data

環境変数名はマイコンピュータのプロパティからも調べられますが、
コマンドプロンプトで「set」コマンドを引数なしで実行するほうが早いです。

「set」コマンドを実行すると、環境変数とその値が出力されます。

3,816 views

DNSキャッシュのクリア

コマンドプロンプトで

c:\> ipconfig /flushdns

を実行

Windows IP Configuration

Successfully flushed the DNS Resolver Cache.

と表示されればOK

2,422 views

要素数の初期化なしに配列を生成(Listクラス)

予め要素数が決まっている場合は始めから配列を使用しますが、
可変の要素数の場合は、Listクラス(コレクション)を使用します。

using System.Collections.Generic;

// 型を指定して宣言
List<int> list = new List<int>();

// Addメソッドで値を追加
list.Add(0);

// ToArrayメソッドで配列化
int[] f = list.ToArray();
1,656 views

再帰を使わずにディレクトリをコピー(Queueクラス)

// Queueクラスを使用したコピー(再帰を使用しない方法)
Queue q = new Queue();
q.Enqueue(RootDirectory);

while (q.Count > 0)
{
    DirectoryInfo sourceDirectory = (DirectoryInfo)q.Dequeue();
    Target = sourceDirectory.FullName;

    foreach (string file in Directory.GetFiles(Target, pattern))
    {
    	//ここに各ファイルに対する処理を記述
    }

    DirectoryInfo[] dirs = sourceDirectory.GetDirectories();
    foreach (DirectoryInfo s in dirs)
    {
        q.Enqueue(s);
    }
}
// Queue : wrapper
1,998 views

連想配列を使用する

C#で連想配列を使用するにはHashtableを使います。

using System.Collections;

Hashtable table = new Hashtable();

table.Add("even", "偶数");
table.Add("odd", "奇数");

Console.WriteLine(table["even"]);
Console.WriteLine(table["odd"]);
1,809 views