27

Windowsバッチファイルを使用して、「how-to- rename -file.jpg」のようなファイル名を「how-to- reuse -file.jpg」にリネームしたい

つまり、ファイル名の 1 つまたは 2 つの単語だけを置き換えたいとします。

4

2 に答える 2

55
@echo off

Set "Filename=how-to-rename-file.jpg"
Set "Pattern=rename"
Set "Replace=reuse"

REM Call Rename "%Filename%" "%%Filename:%Pattern%=%Replace%%%"

Call Echo %%Filename:%Pattern%=%Replace%%%
:: Result: how-to-reuse-file.jpg

Pause&Exit

ファイルのループの他の例を示します。

アップデート:

最後の編集を高速入力したため、構文でいくつかのことを見逃していました。修正されたコードは次のとおりです。

@echo off
Setlocal enabledelayedexpansion

Set "Pattern=rename"
Set "Replace=reuse"

For %%# in ("C:\Folder\*.jpg") Do (
    Set "File=%%~nx#"
    Ren "%%#" "!File:%Pattern%=%Replace%!"
)

Pause&Exit

PS: 部分文字列の詳細については、こちらをご覧ください: http://ss64.com/nt/syntax-substring.html http://ss64.com/nt/syntax-replace.html

于 2013-04-21T07:40:10.387 に答える