powershell

powershellで初歩的なひな型を作成

vbsにつづき、今度はpowershellで
初歩的なひな型を作成した。
powershellは一度にすべてのファイルを読むこともできるが、
編集とかを考えた場合、やはり、1行ずつ読んで、1行ずつ
書くほうが処理も速いし、メモリも食わない。
(勝手な憶測だが)
まず、powershellは以下のコードだ。拡張子を.ps1にする。
編集はサクラエディタでタイプ別設定一覧のperlに拡張子,ps1を追加すると
編集がしやすい。


# Microsoft.VisualBasic.Interaction
using namespace Microsoft.VisualBasic
Set-PSDebug -Strict
Add-Type -Assembly Microsoft.VisualBasic

# ファイル名入力
$inp= [Interaction]::InputBox("ファイル名を入力してください。", "入力")

$enc = [System.Text.Encoding]::GetEncoding(932)

# 入力ファイルオープン
$reader = New-Object System.IO.StreamReader($inp, $enc,$false)

# 出力ファイルオープン
$writer = New-Object System.IO.StreamWriter("$($inp)$("_out.txt")",$false , $enc)

# 入力ファイルから一行ずつ読み込み
while(!($reader.EndOfStream)) {
    # 一行読み込み
    $read_data = $reader.ReadLine()
    
    # 条件判断
    if ($read_data.Substring(1,1) -eq "1") {
        # レコードを1件書き込み
        $writer.WriteLine($read_data)
    }
}
$reader.Close()
$writer.Close()

# 終了メッセージ
[System.Windows.Forms.MessageBox]::Show("処理は終了しました")

次に、動かすのは、.batで行う。こちらは、拡張子.batに変え、こちらを実行する。


@echo off
powershell -executionpolicy RemoteSigned -File "sample.ps1"

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です