powershell - 批处理文件未正确读取标志

标签 powershell batch-file

我有一个小批处理文件,它看起来像这样:

.\batchisp.exe –device at32uc3b1512 –hardware usb –operation erase f memory flash blankcheck loadbuffer G3Pro_USB.hex program verify start reset 0

如果我直接在PowerShell中运行,整行都可以正常工作。但是,如果我运行批处理文件,它将运行以下命令:
.\batchisp.exe ΓÇôdevice at32uc3b1512 ΓÇôhardware usb ΓÇôoperation erase f memory flash blankcheck loadbuffer G3Pro_USB.hex program verify start reset 0

哪一个不起作用,因为如您所见,-变成了ΓÇô ...谁能告诉我这是为什么以及如何解决?

最佳答案

这是因为标记不是-字符。它们实际上是endashes。这些通常是由Word的automatic en/emdashing引起的。

Powershell足够聪明,可以将Endash转换为“参数”的破折号,而cmd则不是。

要解决此问题,请将替换为-。捕获可在notepad ++中使用的所有其他破折号类型的正则表达式搜索/替换是:[–—‒]-

关于powershell - 批处理文件未正确读取标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33863185/

相关文章:

windows - 如果不满足条件,如何退出巧克力安装?

powershell - 如何在 Azure VM 上对 Azure Powershell 进行身份验证

sql-server - 如何抑制通过批处理文件执行的 sql 查询的输出

batch-file - 批处理文件中的启动/等待意味着什么

batch-file - 如何从cmd批处理文件中的变量获取目录路径

powershell - Set-StrictMode 与参数 block 不兼容吗?

windows - CMD/Powershell : Copy files with partial path wildcards

visual-studio-2010 - Powershell 运行时

batch-file - MS-Win-CMD PushD/PopD 如何工作以及为什么不在 "For/f"-Loop 中

c++ - 将输出写入文本文件不显示输入