簡體   English   中英

命令CMD中的多個空格

[英]Multiple spaces in command CMD

好的,所以我嘗試按照此排序指南將十六進制文件閃存到我的arduino pro micro上:

https://www.reddit.com/r/MechanicalKeyboards/comments/69woay/hand_built_keypad_gateron_blues_first_hand_wire/

我真的在第2步中掙扎。我遇到的問題是我的東西(不確定該怎么稱呼)看起來像這樣:

""C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude" "-CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -v -patmega32u4 -cavr109 -PCOM5 -b57600 -D -Uflash:wC:"\Users\My Name\Desktop\Layout\layout.hex:i""

我收到此錯誤:

'""C:\Program' is not recognized as an internal or external command,

可操作的程序或批處理文件。

我根據以下建議嘗試使用語音標記修復該問題:

對於不能處理文件路徑中的空格的程序,如何指定C:\\ Program Files中沒有空格的空格?

如何在CMD中使用空格?

所以這就是我可能犯了一個小錯誤或很多大錯誤的問題,但是您的幫助將不勝感激。

讓我們來看一個簡單的例子。 您可能會嘗試像這樣運行C:\\Program Files (x86)\\myapp\\myprogram

C:\Program Files (x86)\myapp\myprogram --parameter:value

這是行不通的,因為CMD要做的第一件事是在空格上拆分。 這稱為* tokenisation`,結果是令牌列表:

  • C:\\Program
  • Files
  • (x86)\\myapp\\myprogram
  • --parameter:value

然后,它使用第一個令牌C:\\Program並嘗試查找具有該名稱的文件。

'C:\Program' is not recognized as an internal or external command

標記化例程要注意引號。 當遇到引號時,它會刪除它,然后在遇到下一個引號之前,它不會將空格視為標記分隔符。

所以:

"C:\Program Files (x86)\myapp\myprogram" --parameter:value

標記為:

  • C:\\Program Files (x86)\\myapp\\myprogram
  • --parameter:value

由於您的示例中的某些原因,您在整個內容中使用了更多的引號:

""C:\Program Files (x86)\myapp\myprogram" --parameter:value"

令牌化將雙精度字符"當作文字""對待,因此現在將其令牌化為:

  • ""C:\\Program Files
  • (x86)\\myapp\\myprogram
  • --parameter:value

因為沒有可執行文件""C:\\Program Files所以會出現錯誤。

了解報價和令牌化的工作方式。 理解命令而不是盲目地復制它們,您應該能夠解決此問題。

讓我們分析一下你的弦

""C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude" "-CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -v -patmega32u4 -cavr109 -PCOM5 -b57600 -D -Uflash:wC:"\Users\My Name\Desktop\Layout\layout.hex:i""

您的雙引號“”立即出現問題。 這被解釋為這兩個引號之間的空字符串。 因此,使您的C:\\ Program Files結尾於引號。

試試這個

"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude" "-CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -v -patmega32u4 -cavr109 -PCOM5 -b57600 -D -Uflash:wC:"\Users\My Name\Desktop\Layout\layout.hex:i"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM