PowerShell: 자주 사용하는 3개

7039 단어 PowerShelltech

1. 디렉토리의 파일 이름을 CSV로 출력하기


Get-ChildItem "[ファイルパス]" -Recurse -Force | Where-Object {-not $_.PsIsContainer} | Select-Object Directory, Name, Length, LastWriteTime | Export-Csv "出力ファイル名.csv" -encoding Default

2. 텍스트 파일 내부를 참조하여 특정 태그에 포함된 문자열을 정규 표현식으로 읽어들이고 대체합니다.


 #置換したい文字列を変数に格納する
$a= "<record_path>"
$b="¥¥192.168.XXX.XX¥hogehoge¥barusu¥tensai¥"
$c= "`$(YYYY)¥`$(YYYY)_`$(MM)¥`$(YYYY)_`$(MM)_`$(DD)¥`$(ACCOUNTNAME)_`$(CALLERIDNUMBER)_`$(YYYY)-`$(MM)-`$(DD)_`$(HH):`$(NN):`$(SS).WAV"
$d= "</record_path>"

<# ↑の補足事項
 $は[””]で囲っていても変数として認識されてしまうので、[`]をつけてエスケープする
 <変数をa,b,c,dに分けている理由>
  1.視認性を上げるため
  2.変更しやすくするため
  3.実際の作業時、分けないとエラーが出たため
   いらなければ変数一つに格納でいいです(小声) #>

 #変数を結合する
$path= $a+$b+$c+$d

 #=====ここから処理開始=====

 #処理するディレクトリへ移動
cd $env:appdata\hogehoge

 #配下のファイルを読み込む
$data= Get-Content .\foobar.txt

 #行番号を指定して置換する文字列を検索
 #[.]と[*]は正規表現

$data[5-1]=$data[5-1] -replace "<record_path>.*</record_path>",$path

 #処理結果をテキストファイルにして出力する
$data | Out-file .\test.txt -Encoding UTF8

3. PowerShell에서 Gmail로 메시지 보내기


# Send Gmail Script
# 宛先は引数で指定 / 件名・本文はテキストを読み込む
 
# アカウント情報をセット
$AccountName = "[email protected]"
$Password = "hogehoge"
 
# Gmail認証
$SMTPClient = New-Object Net.Mail.SmtpClient("smtp.gmail.com", 587)
$SMTPClient.EnableSsl = $True
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential("$AccountName","$Password");
 
# 各情報
$From = "$AccountName"
$To   = $Args[0]
$Subject  = Get-Content .\Subject.txt
$Body     = Get-Content .\body.txt -Raw

# メール組み立て
$Message = New-Object Net.Mail.MailMessage($From, $To, $Subject, $Body)
 
# メール送信
$SMTPClient.Send($Message)

좋은 웹페이지 즐겨찾기