批量文件替换没有扩展名的字母

时间:2018-03-02 17:37:13

标签: batch-file replace translate

我正在尝试创建简单的批处理文件,用jpg文件名替换latin到cyrillic的字母,但我不知道如何阻止批处理文件更改扩展名。

@echo off
chcp 65001
Setlocal enabledelayedexpansion

Set "Pattern=p"
Set "Replace=п"

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

Pause&Exit

此脚本将名称从p.jpg更改为п.jпg,这是无用的。 欢迎提出任何建议。

谢谢

1 个答案:

答案 0 :(得分:0)

明智地使用修饰符:

...
For %%# in ("*.jpg") Do (
    Set "File=%%~n#"
     ECHO Ren "%%~f#" "!File:%Pattern%=%Replace%!%%~x#"
)
...
如果您需要输出,请

删除ECHO