PowerShelldでファイル名変更

特定の文字列を削除

コマンド

dir *.* | rename-item -newname {$_.name -replace '削除文字列 ',''}

説明

‘削除文字列 ‘ を ” にリプレイスすることで削除している

文字数による切り取り

コマンド

dir *.* | rename-item -newname {$_.name.substring(0, 80) + $_.extension}

説明

最初の文字から 80文字目まで + 拡張子

その他メモ

ここまでのコマンドで、基礎的な部分のメモ

dir *.* |

ディレクトリ内の一覧をパイプラインに渡す。
*.* をつけることで、拡張子のついたファイルのみを対象にしようとしている。
ドットを使用したフォルダがあったらダメだけど・・・

rename-item -newname {}

見たまんまリネーム。
{} 内で変更後の名前を指定する。

$_.name

パイプラインに渡されたオブジェクトから name を取得。
パイプラインを挟まない場合は (dir *.*).name と書ける。

-replace 'org','new'

文字列の置き換え。

$_.extension

拡張子の取得。
ドットまで含んで取得する。(例:”.txt”)

dir *.* -name | %{$_.length}

ファイル名の文字数取得
上記では使用していないけどメモ

コメント

タイトルとURLをコピーしました