はじめに

Gal Normal

日常のタスクにPowerShellを使いたいんだけど、役に立つスクリプトを教えてもらえる?

Geek Curious

もちろん!日常のタスクに役立つPowerShellスクリプトを一緒に見ていこう!

ステップ1: フォルダのバックアップを作成する

Gal Eager

フォルダをバックアップするスクリプトはどう?

Geek Ready

いいね!こちらは、フォルダの内容を別のフォルダにコピーしてバックアップするシンプルなスクリプトだよ。

$sourceFolder = "C:\example\source"
$backupFolder = "C:\example\backup"

Copy-Item -Path $sourceFolder -Destination $backupFolder -Recurse -Force
Gal Happy

すごい!これで簡単にファイルをバックアップできるね!次は何?

ステップ2: 複数のファイルを一括でリネームする

Gal Wondering

一度に複数のファイルの名前を変更するスクリプトは作れる?

Geek Nodding

もちろん!これは、フォルダ内のすべての.txtファイルの名前を変更してプレフィックスを追加するスクリプトだよ。

$folderPath = "C:\example\files"
$prefix = "new_"

Get-ChildItem -Path $folderPath -Filter *.txt | ForEach-Object {
    Rename-Item $_.FullName -NewName ($prefix + $_.Name)
}
Gal Excited

これで時間がかなり節約できるね!ありがとう!他に何かある?

ステップ3: フォルダの変更を監視する

Gal Curious

新しいファイルや変更があったときにフォルダを監視する方法はどう?

Geek Smiling

いいアイデアだね!これは、フォルダを監視して、ファイルが作成されたり変更されたときにメッセージを表示するスクリプトだよ。

$folder = "C:\example\watched"
$filter = '*.*'

$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = $folder
$watcher.Filter = $filter
$watcher.IncludeSubdirectories = $true
$watcher.EnableRaisingEvents = $true

$action = {
    $path = $Event.SourceEventArgs.FullPath
    $changeType = $Event.SourceEventArgs.ChangeType
    Write-Host "File '$path' was $changeType"
}

Register-ObjectEvent -InputObject $watcher -EventName "Created" -Action $action
Register-ObjectEvent -InputObject $watcher -EventName "Changed" -Action $action

while ($true) {
    Start-Sleep -Seconds 10
}
Gal Amazed

すごい!これで大事なフォルダを監視できるね!🤩

Geek Proud

そうだね!PowerShellを使えば、日常のタスクがもっと簡単で効率的になるよ。

おわりに

フォルダのバックアップ、一括でファイル名を変更すること、フォルダの変更を監視するなど、日常のタスクに役立つPowerShellスクリプトの作成方法を学びました。これらのスクリプトをさらに探求し、自分のニーズに合わせてカスタマイズしていきましょう。ハッピースクリプティング!🚀