我在汉字环境中编程。我遇到了两个问题。首先,我无法使用bat更改目录。在bat文件中我cd D:,但这行实际上并没有改变目录。下一行工作目录返回C:。
并且,似乎cmd无法识别汉字。我试过chcp 65001,但它不起作用。如何让cmd能够识别汉字?
我做了很多谷歌搜索,但没有得到答案。提前谢谢。
答案 0 :(得分:1)
除了更改驱动器的当前目录外,还可以/D
切换到change current drive:
cd /D D:
另一种方法:PUSHD
更改当前目录/文件夹并存储以前的文件夹/路径以供POPD
命令使用:
pushd D:
CMD Shell中的一些命令(在Windows控制台cmd
内运行)即使在非中文环境中也能很好地识别中文字符,请参见下面的示例。例如,我的Windows设置是
CP852
/ ANSI1250
。请注意,我有否特殊CJK support set up!不幸的是,CMD shell中的unicode仍然是very limited support。
C:> reg query HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage | find "CP"
ACP REG_SZ 1250
OEMCP REG_SZ 852
MACCP REG_SZ 10029
C:\> chcp
Active code page: 852
C:\> pushd "D:\bat\Unusual Names\CJK (中文(繁體))"
D:\bat\Unusual Names\CJK (中文(繁體))> dir /B / S
D:\bat\Unusual Names\CJK (中文(繁體))\中文(繁體)
D:\bat\Unusual Names\CJK (中文(繁體))\装备女印度舞娘时装上衣
D:\bat\Unusual Names\CJK (中文(繁體))\中文(繁體)\chinese traditional.txt
D:\bat\Unusual Names\CJK (中文(繁體))\中文(繁體)\二月.mp3
D:\bat\Unusual Names\CJK (中文(繁體))\中文(繁體)\女
D:\bat\Unusual Names\CJK (中文(繁體))\中文(繁體)\装备女印度舞娘时装上衣.rtf
D:\bat\Unusual Names\CJK (中文(繁體))\中文(繁體)\女\印度舞娘时装上衣
D:\bat\Unusual Names\CJK (中文(繁體))\装备女印度舞娘时装上衣\inside_CJK.txt
D:\bat\Unusual Names\CJK (中文(繁體))> popd
C:\> dir /B /S "D:\bat\Unusual Names\CJK (中文(繁體))"
D:\bat\Unusual Names\CJK (中文(繁體))\中文(繁體)
D:\bat\Unusual Names\CJK (中文(繁體))\装备女印度舞娘时装上衣
D:\bat\Unusual Names\CJK (中文(繁體))\中文(繁體)\chinese traditional.txt
D:\bat\Unusual Names\CJK (中文(繁體))\中文(繁體)\二月.mp3
D:\bat\Unusual Names\CJK (中文(繁體))\中文(繁體)\女
D:\bat\Unusual Names\CJK (中文(繁體))\中文(繁體)\装备女印度舞娘时装上衣.rtf
D:\bat\Unusual Names\CJK (中文(繁體))\中文(繁體)\女\印度舞娘时装上衣
D:\bat\Unusual Names\CJK (中文(繁體))\装备女印度舞娘时装上衣\inside_CJK.txt
修改即可。甚至可以使用.bat
文件来完成此操作,前提是 .bat
文件已保存并在同一ANSI代码页中运行(请参阅National Language Support (NLS) API Reference以选择代码页对于简体中文或繁体中文,分别为936
或950
,或.bat
文件保存在UTF-8
(不含BOM)并在其cmd
等效chcp 65001
:
C:\Utils> chcp 65001
Active code page: 65001
C:\Utils> type D:\bat\SO\q44501393.bat
@ECHO ON
pushd "D:\bat\Unusual Names\CJK (中文(繁體))"
dir /B *.txt
@rem next command opens "中文(台灣).txt" in default app for `.txt` files
start "" "中文(台灣).txt"
C:\Utils> D:\bat\SO\q44501393.bat
C:\Utils> pushd "D:\bat\Unusual Names\CJK (中文(繁體))"
D:\bat\Unusual Names\CJK (中文(繁體))> dir /B *.txt
中文(台灣).txt
D:\bat\Unusual Names\CJK (中文(繁體))> start "" "中文(台灣).txt"
D:\bat\Unusual Names\CJK (中文(繁體))> popd
C:\Utils>
答案 1 :(得分:-1)
要批量更改目录(cmd),您必须执行以下操作:
cd D:\
在你的照片中你做过" D:"没有" \&#34 ;;这是错误的。
我希望我能帮到你。
PS:无论如何都没有将显示语言从中文更改为英文,因为cmd.exe是一个基于系统语言的Windows系统应用程序。如果您希望使用英语cmd,则必须使用英语更改系统语言或使用英语发行版重新安装Windows。