[英]Batch file doesn't read flags correctly
我有一个小批处理文件,它看起来像这样:
.\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
哪一个不起作用,因为如您所见, -
已更改为ΓÇô
的...。有人可以告诉我这是为什么以及如何解决它吗?
这是因为–
标记不是-
字符。 它们实际上是烟灰 。 这些通常是由Word的自动en / emdashing引起的 。
Powershell足够聪明,可以将Endash转换为“参数”的破折号,而cmd则不是。
要解决此问题,请用–
替换-
。 捕获可在notepad ++中使用的所有其他破折号类型的正则表达式搜索/替换是: [–—‒]
到-
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.