批处理文件无法正确读取标志

时间:2015-11-23 03:10:20

标签: 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

哪个不起作用,因为正如您所看到的,-已经变为ΓÇô了......有人可以告诉我为什么会这样,以及如何解决它?

1 个答案:

答案 0 :(得分:4)

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

Powershell非常聪明,可以将endashes转换为破折号作为"参数",但cmd不是。

要解决此问题,请将替换为-。正则表达式搜索/替换捕获在记事本++中有效的所有替代短划线类型:[–—‒]-