我只是做了一個腳本,通過Windows的命令提示符自動更新我的GitHub repo。
不幸的是,命令提示符打開后的第一行代碼無法發送。我相信這是因為字串包含逗號,但我找不到正確的語法來使 "pushd D:Media ListsWebsite, Blog, and Wordpress_thefloodplains hefloodshark.Github.io "在輸入{Enter}之前作為一個字串發送,就像下面的代碼:
運行cmd.Github.io
運行cmd.exe
WinWait, ahk_exe cmd.exe ;
ControlSend, , pushd D:Media ListsWebsite, Blog, and Wordpress\_thefloodplains hefloodshark.Github.io{Enter}, ahk_exe cmd.exe
睡眠, 2000
ControlSend, , git add .{Enter}, ahk_exe cmd.exe
睡眠, 2000
ControlSend, , git commit -m auto{Enter}, ahk_exe cmd.exe
睡眠, 2000
ControlSend, , git push{Enter}, ahk_exe cmd.exe
睡眠, 3000
退出
目前,腳本運行了,但它不會輸入我的 GitHub repo 位置的第一行。不過,ControlSend的其他輸入都能作業。
如果有任何想法,我們將深表感謝。
uj5u.com熱心網友回復:
問題確實是關于你的路徑有逗號,而你沒有轉義它們(`,)。
你可以在AHK的這里中閱讀關于轉義的內容。
但實際上,這只是指定傳統字串時的一個問題。
相反,我想說的是,你真正想做的是直接使用運算式語法并明確指定字串,像這樣:
ControlSend, , % "pushd D:Media ListsWebsite, Blog, and Wordpress\_thefloodplains hefloodshark.Github.io{Enter}", % "ahk_exe cmd.exe"
睡眠, 2000
ControlSend, , % "git add .{Enter}", % "ahk_exe cmd.exe" 。
睡眠, 2000
ControlSend, , % "git commit -m auto{Enter}", % "ahk_exe cmd.exe" 。
睡眠, 2000
ControlSend, , % "git push{Enter}", % "ahk_exe cmd.exe" 。
睡眠,3000
現在說一個更不相關的問題,這個實作真的很糟糕/低技術。
實際上,你只需要為你的命令列創建一個實際的腳本并運行該腳本。由于你似乎在使用 cmd,你可以創建一個簡單的批處理腳本,例如:
pushd D:Media ListsWebsite, Blog, and Wordpress\_thefloodplains hefloodshark.Github.io
git add .
git commit -m auto
git push
然后通過使用AHK運行它,例如Run(docs):
運行, % "C:UsersUserDesktopmy cool scriptsscript.bat", % "C:UsersUserDesktopmy cool project folder"
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/307881.html
標籤:
