以下に示すようなファイルがいくつかあります。
入力: ObjectName.TXT
バッチファイルを使用してファイル名を大文字に変換し、拡張子を小文字にしたいのですが、以下のようにオブジェクト名を変換する方法を教えてください。
出力: OBJECTNAME.txt
Solaris および Linux で使用するために、Windows のオブジェクト名を変換する必要があります。
答え1
バッチ スクリプトではなく PowerShell スクリプトです。
# Get all items in the current directory
Get-ChildItem | %{
# Construct a new file name
$newFilename = ($_.BaseName.ToUpper())+($_.Extension.ToLower());
# Move the file
Move-Item $_ $newFilename
}
答え2
使用できるReNamerの「ケース」の名前変更ルール:
大文字と小文字: すべて大文字(拡張子はスキップ)、拡張子は小文字
ルールをプリセットとして保存し、コマンドラインやバッチファイルでファイル/フォルダの名前を変更するために使用できます。例:ReNamer.exe /rename <preset> <files-and-directories>
答え3
申し訳ありませんが、コメントできませんが、1行で実行する場合は次のようにします。
Get-ChildItem | % { Move-Item -Path $_ -Destination (($_.BaseName.ToUpper())+($_.Extension.ToLower())) }
答え4
これを行う別の方法を見つけました:
Dir | Rename-Item -NewName {$_.BaseName.ToUpper() + $_.Extension.ToLower()}