ファイル名を大文字に、拡張子を小文字に変更するにはどうすればいいですか?

ファイル名を大文字に、拡張子を小文字に変更するにはどうすればいいですか?

以下に示すようなファイルがいくつかあります。

入力: 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>

ReNamer - 名前は大文字、拡張子は小文字

答え3

申し訳ありませんが、コメントできませんが、1行で実行する場合は次のようにします。

Get-ChildItem | % { Move-Item -Path $_ -Destination (($_.BaseName.ToUpper())+($_.Extension.ToLower())) }

答え4

これを行う別の方法を見つけました:

Dir | Rename-Item -NewName {$_.BaseName.ToUpper() + $_.Extension.ToLower()}

関連情報