| cmd: |
| xcopy /D "D:\music\*" "D:\Google Drive\music\*" |
2018年11月7日 星期三
2018年10月25日 星期四
【DOS】如何得知BAT檔目錄位置當以系統管理員開啟時
這幾天再嘗試寫DOS的批次檔,因為要將此目錄的檔案移至Program File,
需要以系統管理員開啟,結果不管呼叫的是%CD%還是pwd,都顯示目前位置在C:\Windows\system32,這樣要copy檔案時還要回來找原本目錄的位置。
| test.bat |
| pwd echo %CD% pause |
| 以一般使用者開啟 |
| C:\Users\vincent\Desktop>pwd C:\Users\vincent\Desktop C:\Users\vincent\Desktop>echo C:\Users\vincent\Desktop C:\Users\vincent\Desktop C:\Users\vincent\Desktop>pause 請按任意鍵繼續 . . . |
| 以系統管理員開啟 |
| C:\Windows\system32>pwd C:\Windows\system32 C:\Windows\system32>echo C:\Windows\system32 C:\Windows\system32 C:\Windows\system32>pause 請按任意鍵繼續 . . . |
解決
| test2.bat |
| SET LOCAL_PATH="%~dp0" echo %LOCAL_PATH% |
| 以一般使用者開啟 |
| C:\Users\vincent\Desktop>SET LOCAL_PATH="C:\Users\vincent\Desktop\" C:\Users\vincent\Desktop>echo "C:\Users\vincent\Desktop\" "C:\Users\vincent\Desktop\" C:\Users\vincent\Desktop>pause 請按任意鍵繼續 . . . |
| 以系統管理員開啟 |
| C:\Windows\system32>SET LOCAL_PATH="C:\Users\vincent\Desktop\" C:\Windows\system32>echo "C:\Users\vincent\Desktop\" "C:\Users\vincent\Desktop\" C:\Windows\system32>pause 請按任意鍵繼續 . . . |
參考資料
訂閱:
文章 (Atom)