如何使用"批处理"移动重音文件?



如果我使用命令提示符将重音文件移动到同一目录,它可以正常工作。

move ó.mp3 ó.mp3

但是,当我在.bat文件中使用相同的命令时,会出现以下错误:the system cannot find the file specified.

@echo off
move ó.mp3 ó.mp3
pause

一个公然的莫吉巴克案例。我猜你使用Windows的本机notepad编辑器保存脚本,使用共同调用的ANSI编码。以下注释的代码片段可以启发该问题:

@ECHO OFF
SETLOCAL EnableExtensions
REM save current code page (optional)
for /F "tokens=1* delims=:" %%G in ('CHCP') do set "_currentCP=%%H"
REM find notepad's ("ANSI") code page
for /F "tokens=1,2*" %%G in ('
REG QUERY "HKLMSYSTEMCurrentControlSetControlNlsCodePage" -v ACP^|find "ACP"
') do set "_notepadCP=%%I"
REM show flagrant mojibake case
echo %_currentCP%: move ó.mp3 óó.mp3
REM change the active console code page and show right result  
>NUL CHCP %_notepadCP%
echo %_notepadCP%: move ó.mp3 óó.mp3
REM reurn the active console code page to saved value (optional)
>NUL CHCP %_currentCP%
pause

结果

D:batSO61743331.bat
852: move ˇ.mp3 ˇˇ.mp3
1250: move ó.mp3 óó.mp3

我在(中欧(Windows上看到上面的输出。在西方窗户上,你可以看到类似的东西

850: move ¾.mp3 ¾¾.mp3
1252: move ó.mp3 óó.mp3

您应该使用此命令 CHCP/?

@echo off
CHCP 65001>nul
move ó.mp3 ó.mp3
pause

相关内容

最新更新