這幾天再嘗試寫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 請按任意鍵繼續 . . . |
沒有留言:
張貼留言