
PowerShelにおいて外部ファイルに書いてある変数を設定したと考えています。
たとえばread.iniファイルに下記の記載があるとします。
[yomikomi]
FilePath,C:\temp\test
MODRI,3
Message,"エラーが起きました"
このファイルをps1ファイルで読み込んで変数にしたい感じです。
$FilePath=C:\temp\testといった感じ)
区切り文字とかは何でもいいです。
読み込ませ形式についてはiniかps1形式が理想です。
ただ実行ps1ごとに読み込ませるファイルが異なるため.profileなどの初期読みこみ
系にかけない状況です。(profileがもっと応用的に使用できるならいいですが)
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
丁度同じような話が出ました。
http://okwave.jp/qa/q6899282.html
ポイントの部分だけ抜き出したものを載せておきます。
不要行の読み飛ばしや配列利用は、適宜応用してみて下さい。
*** 以下の2ファイルを同ディレクトリに配置し、script.ps1を実行する ***
*** script.ps1 ***
Get-Content .\read.ini | Foreach-Object {
$name, $value = $_.split(',', 2)
Invoke-Expression "`$$name='$value'"
}
echo $FilePath $MODRI $Message
*** read.ini ***
FilePath,C:\temp\test
MODRI,3
Message,"エラーが起きました"
No.1
- 回答日時:
Get-Contentとか。
それと、設定ファイルはXML形式にするのが簡単。

回答ありがとうございます。
推奨いただきましたXML形式についてはXMLを勉強しつつ取り入れていきたいと思います。
それともう一つのGet-Content形式ですが、これは読み込んだ後どのように変数化すればいいでしょうか?
今はiniファイルの中身を
[Sting]$test0="message001"
[Sting]$test2="message002"
[Sting]$test3="message003"
みたいな形にして、います。
前に以下のような形で適用できないか試しましたが・・・
$reader = New-Object System.IO.StreamReader($Logfile,[Text.Encoding]::GetEncoding("Shift_Jis"))
while (($line = $reader.ReadLine()) -ne $null){
# 抜き出し処理
$check1=$line -split ","
if($rx.IsMatch($line)){
# "先頭が#の場合Skip"
}elseif($line -eq ""){
# "文字が含まれていない場合Skip"
}elseif($line.trim() -eq "" ){
# "全空白を削除した結果Nullの場合Skip"
}else{
if($check1[1] -ne ""){
$check1[0]=$check1[1] →ここにで読み込んだものを変数格納する形がわからない
}
}
}
ご教授ください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# pythonで外部のファイルを読み込む際のエラー 2 2022/04/12 19:22
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- フリーソフト Windowsの特殊文字を削除や変換したい そんなフリーソフトはありますか? 3 2022/11/09 00:05
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- C言語・C++・C# このプログラミング誰か教えてくれませんか 3 2022/05/13 17:27
- PDF acrobatでwordファイルをpdfに変換すると文字化けする 3 2023/02/10 09:31
- その他(プログラミング・Web制作) 【python】Excelファイルを読み込む際の日付の表示形式を任意にする 2 2022/11/24 14:21
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- C言語・C++・C# このプログラミング誰か教えてくれませんか 2 2022/05/14 09:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
隠しファイルの扱い
-
アクセス 壊れた? 「ファイ...
-
binファイルを解凍したいの...
-
reaper音声ファイルについて
-
jarファイル
-
Latexで図番号だけを「図1.1」...
-
#include <Windows.h>というヘ...
-
ファイルの変換について
-
.NETアプリを作ったときの .man...
-
vbsにてショートカットが存在す...
-
ファイル名を指定しないVBAは?
-
オートラン(autorun.inf)につ...
-
fstatでファイルがリンクかどう...
-
JRのjsonファイルって使って大...
-
OpenCvSharpでの動画の書き出し...
-
既にファイルが開いているのな...
-
Word VBA MSGBOX 内で降順表示
-
HTMLファイルにMPEGファイルを...
-
公文書のxmlファイルの開き方が...
-
【VBA】EXCELブックを開かずに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
binファイルを解凍したいの...
-
アクセス 壊れた? 「ファイ...
-
コマンドプロンプトで作成日時...
-
.NETアプリを作ったときの .man...
-
リンクの張り付けかたを教えて...
-
#include <Windows.h>というヘ...
-
Latexで図番号だけを「図1.1」...
-
jarファイル
-
「ブルーファイル」と「グリー...
-
ファイルが開かれているかどう...
-
バッチ処理で追記コピーしたい
-
VBAのバイナリ出力について
-
公文書のxmlファイルの開き方が...
-
コマンドプロンプトで、指定し...
-
監視ツールを入れさせられまし...
-
自分で作成した重要ファイルを...
-
HTMLからのBATファイル実行
-
VBSが起動しない
-
他のMDBのマクロを実行する方法
-
Batファイルをバイナリ形式にす...
おすすめ情報