使っています
ls | cut -c 5-
これは、ファイル名のリストを必要な形式で返しますが、実際にはアクションを実行しません。お知らせ下さい。
rename -n 's/.{5}(.*)/$1/' *
-n
はシミュレーション用です。それを削除して実際の結果を取得します。
名前を変更するフォルダーにいるときに、次のコマンドを使用できます。
rename -n -v 's/^(.{5})//' *
-n
はアクションなし、-v
変更内容を表示します。結果に満足したら、両方を削除できます
rename 's/^(.{5})//' *
このような何かが動作するはずです:
for x in *; do
echo mv $x `echo $x | cut -c 5-`
done
これは破壊的である可能性があるため、最初にこの方法で実行してから、目的の処理が確実に完了したら、先頭のecho
を削除してください。
次のようなエラーメッセージが表示された場合、
名前変更はコマンドレットの名前として認識されません
これはあなたのために働くかもしれません、
get-childitem * | rename-item -newname { [string]($_.name).substring(5) }