无法使用批处理文件从文件名中删除弯曲的单引号字符(Windows)

无法使用批处理文件从文件名中删除弯曲的单引号字符(Windows)

这在批处理文件中起作用,从批处理文件旁边的所有文件名中删除字母“y”:

setlocal enableextensions enabledelayedexpansion

for /r %%A in ("*.*") do (
    SET ORIGINAL_FILENAME=%%~nxA
    echo.!ORIGINAL_FILENAME!

    SET MODIFIED_FILENAME=!ORIGINAL_FILENAME:y=!
    echo !MODIFIED_FILENAME!

    REN "!ORIGINAL_FILENAME!" "!MODIFIED_FILENAME!"
)

如果我想从文件名中删除卷曲的单引号字符,则不起作用:

setlocal enableextensions enabledelayedexpansion

for /r %%A in ("*.*") do (
    SET ORIGINAL_FILENAME=%%~nxA
    echo.!ORIGINAL_FILENAME!

    SET MODIFIED_FILENAME=!ORIGINAL_FILENAME:’=!
    echo !MODIFIED_FILENAME!

    REN "!ORIGINAL_FILENAME!" "!MODIFIED_FILENAME!"
)

有没有不使用 Powershell 的方法可以做到这一点?

我还尝试过一种叫做“jren.bat”的东西,将花括号字符与所有其他字符一起列出。删除,并且它也不能删除这个卷曲的单引号字符。

干杯。

答案1

我没有办法解决这个问题,但这不再是个问题,因为我刚刚测试了批处理文件,没有删除弯单引号也没关系。我以为某个程序无法处理这个字符,但这不是进程无法完成的原因,而且这个问题已经修复了。

我会将其保留为一个开放性问题,以防万一有解决方案,因为令我烦恼的是,传统的删除该特定字符的方法对于普通字母数字字符有效,但不起作用。

相关内容