TRIM

構文
TRIM( 文字列, [全角空白] )
引数
文字列
文字列
全角空白
FALSE
全角の空白は含めない(デフォルト)
TRUE
全角の空白を含めて削除
戻値
両端の空白と制御文字が取り除かれた文字列

プログラム実行例

無線LANのインターフェイス情報を取得

HASHTBL LAN str = SPLIT(DOSCMD("netsh wlan show interface"), "<#CR>") FOR n = 0 TO UBound(str) IFB POS(":", str[n]) THEN arr = SPLIT(str[n], ":") LAN[TRIM(arr[0])] = TRIM(arr[1]) ENDIF NEXT DIM items[] = "名前", "説明", "GUID", "物理アドレス", "状態", + _ "SSID", "BSSID", "ネットワークの種類", "無線の種類", "認証", + _ "暗号", "接続モード", "チャネル", "受信速度 (Mbps)", "送信速度 (Mbps)", + _ "シグナル", "プロファイル", "ホストされたネットワークの状態" FOR item IN items PRINT item + ":" + LAN[item] NEXT ////////////////////////////////////////////////// // 【引数】 // 配列 : 上限値を求める配列 // 【戻値】 // 配列の上限値 ////////////////////////////////////////////////// FUNCTION UBound(array[]) RESULT = RESIZE(array) FEND
結果
名前:ワイヤレス ネットワーク接続
説明:Intel(R) WiFi Link 1000 BGN
GUID:***
物理アドレス:74
状態:接続されました
SSID:***
BSSID:18
ネットワークの種類:インフラストラクチャ
無線の種類:802.11n
認証:WPA2-パーソナル
暗号:CCMP
接続モード:自動接続
チャネル:10
受信速度 (Mbps):72
送信速度 (Mbps):72
シグナル:80%
プロファイル:***
ホストされたネットワークの状態:利用不可

ユーザー名を取得

HASHTBL ENV DIM str = SPLIT(DOSCMD("SET"), "<#CR>") FOR n = 0 TO UBound(str) IFB POS("=", str[n]) THEN arr = SPLIT(str[n], "=") ENV[TRIM(arr[0])] = TRIM(arr[1]) ENDIF NEXT PRINT ENV["USERNAME"] ////////////////////////////////////////////////// // 【引数】 // 配列 : 上限値を求める配列 // 【戻値】 // 配列の上限値 ////////////////////////////////////////////////// FUNCTION UBound(array[]) RESULT = RESIZE(array) FEND
解説
  1. 1行目
    HASHTBL ENV
    連想配列ENVを宣言します。環境を表すEnvironmentの略です。
  2. 3行目
    DIM str = SPLIT(DOSCMD("SET"), "<#CR>")
    コマンドプロンプトで環境変数を取得し、その結果を改行を区切り文字列としてstr配列に格納します。str[0]に1行目、str[1]に2行目という風に格納されます。
  3. 5-10行目
    FOR n = 0 TO UBound(str) IFB POS("=", str[n]) THEN arr = SPLIT(str[n], "=") ENV[TRIM(arr[0])] = TRIM(arr[1]) ENDIF NEXT
    str配列の数だけループ。
    条件
    str配列のn番目に「=(イコール)」が含まれているか
    TRUE(「=」が含まれていたら)
    「=」を区切り文字列としてarr配列に格納します。「環境変数名=値」という形で出力されるので、arr[0]に環境変数名、arr[1]に値が格納されます。
    ENV[環境変数名]に値代入します。
  4. 12行目
    PRINT ENV["USERNAME"]
    環境変数名USERNAMEを出力します。

システムの起動時間を取得

PRINT TRIM(POWERSHELL("[Management.ManagementDateTimeConverter]::ToDateTime((Get-WmiObject Win32_OperatingSystem).LastBootUpTime)"))
結果
2019年12月21日 15:53:56