如何在 Windows 批处理文件中指定名称或路径中包含特殊字符的本地文件,如 ä、ö、ü?
How to specify a local file with special characters in its name or path like ä, ö, ü in a Windows batch file?
在我的 Windows 机器上,我有一个小脚本 (.bat) 来启动一些我用于日常工作的程序,例如 Word、Outlook、某个 Excel 文件等.
一个未解决的问题是我无法指定存储在本地文件夹中的某个 Excel 文件,因为该文件夹的名称中有一个特殊字符(德语 u-umlaut,即 ü)。类似于:
C:\Büroeinrichtung\MyExcelFile.xlsx
在我的脚本中,我尝试通过
调用它
Start "" "C:\Büroeinrichtung\MyExcelFile.xlsx"
但是在 运行 脚本上我收到一条警告,指出 ü 未被接受(其中 ü 被屏幕上一些更花哨的标志所取代)。
我可以通过将 ü 替换为 ue 或其他任何方法来更改文件夹名称以规避问题,但我更希望有一个允许保留现有文件夹名称不变的解决方案。
在这里没有找到其他问题中解决的问题。
有解决办法吗?
PS: 我用的是Notepad++。
后期补充:还有一个后续问题一直困扰着我(虽然最初的问题解决了)。它是关于使用脚本内部的 chcp 命令以编程方式更改代码页的方法。 See the question here
问题在于不同的字符集:ANSI 和 ASCII。存在不同的解决方案:
- 使用其他可能更改字符集的编辑器。
- 使用提示并将变音符号复制到您的编辑器中。
- 使用 CMD,转到您的目录并使用 dir /x 从 Büroeinrichtung 获取短名称并在您的 DOS 脚本中使用它。
之前的建议解决方案不适用于我的情况(即使用匈牙利语特殊字符),但它给了我想法:
我使用 dir /x
写入文件:
dir <path> /x >>dir.txt
使用它我找到了短文件夹名称。
在我的 Windows 机器上,我有一个小脚本 (.bat) 来启动一些我用于日常工作的程序,例如 Word、Outlook、某个 Excel 文件等.
一个未解决的问题是我无法指定存储在本地文件夹中的某个 Excel 文件,因为该文件夹的名称中有一个特殊字符(德语 u-umlaut,即 ü)。类似于:
C:\Büroeinrichtung\MyExcelFile.xlsx
在我的脚本中,我尝试通过
调用它Start "" "C:\Büroeinrichtung\MyExcelFile.xlsx"
但是在 运行 脚本上我收到一条警告,指出 ü 未被接受(其中 ü 被屏幕上一些更花哨的标志所取代)。
我可以通过将 ü 替换为 ue 或其他任何方法来更改文件夹名称以规避问题,但我更希望有一个允许保留现有文件夹名称不变的解决方案。
在这里没有找到其他问题中解决的问题。
有解决办法吗?
PS: 我用的是Notepad++。
后期补充:还有一个后续问题一直困扰着我(虽然最初的问题解决了)。它是关于使用脚本内部的 chcp 命令以编程方式更改代码页的方法。 See the question here
问题在于不同的字符集:ANSI 和 ASCII。存在不同的解决方案:
- 使用其他可能更改字符集的编辑器。
- 使用提示并将变音符号复制到您的编辑器中。
- 使用 CMD,转到您的目录并使用 dir /x 从 Büroeinrichtung 获取短名称并在您的 DOS 脚本中使用它。
之前的建议解决方案不适用于我的情况(即使用匈牙利语特殊字符),但它给了我想法:
我使用 dir /x
写入文件:
dir <path> /x >>dir.txt
使用它我找到了短文件夹名称。