ページ

2011年11月10日木曜日

Powershellでbracketが入ったフォルダを削除する

bracket"[ ]"を入れることなんてめったにありませんが、わかりやすいように使う場合もあります。こういったフォルダやファイルが存在する場合、PowershellのRemove-ItemコマンドやGet-Contentコマンドなどに指定してもエラーが出てうまくいかないことがあります。

'C:\temp\`[test`].txt' 

こういう独特な書き方をしなければうまく渡せないようです。ディレクトリの変更などでもこのように記述する必要があります。そのため、以下のような記述の仕方が便利です。

[IO.DirectoryInfo]"C:\temp\[test].txt"

こちらのほうがシンプルで使いやすいですね。[io.directoryinfo]は、get-childitemコマンドで取得するとこの型になっているようなので、特に考えることなく使用することができるようです。
ファイル削除が行いたい場合は、get-childitemコマンドで取得し、$item.Delete()などで削除することをよく行なっています。