批處理 bat 檔案中找不到檔案等路徑問題

2022-06-27 13:54:16 字數 869 閱讀 8209

我在做乙個pyqt5介面程式時,程式做好了,在pycharm中執行正常,在dos視窗中使用 python  d:\vls\main.py也執行正常,但是做了個bat 啟動指令碼後就打不開了,提示找不到檔案,後來看到了下面的文章才解決了

一般來說,批處理檔案處理相對路徑的時候,起始位置是bat檔案所在的目錄,比如在d:\xx目錄下執行bat檔案,所有相對目錄的操作都會以d:\xx下執行。也就是你在phcharm中能執行的程式在bat指令碼裡啟動會出錯,因為bat檔案裡預設是以該bat檔案所在的目錄為起始目錄的,你以前用的相對路徑能找到你想找的檔案,但是你在bat中就找不到了。還有,有些命令需要管理員許可權,右鍵選擇以管理員身份執行時後,起始位置則為c:\windows\system32,這時候往往不是我們所想要的,

解決辦法1:

把你寫的bat指令碼放到你python專案所在目錄裡,具體放在哪個位置,要看你的專案資料夾結構了。

解決辦法2:沒試過

是在批處理的行首加一句"cd d:\xx」進入該目錄,以修改其當前位置,但這樣需要在批處理檔案中加入絕對路徑,如果把bat檔案移動到其它位置就無法使用了,此時一種更好的方式是用"cd /d %~dp0」代替"cd d:\xx」。

綜上所述,在寫bat檔案的時候,不管是否需要用到管理員許可權,最好在行首加一句"cd /d %~dp0",以統一檔案的起始目錄。

例如,auto.bat處於資料夾d:\my_bat\下,以下為auto.bat的內容

cd /d %~dp0

start mdf-api\feedserver\feedserverv1_3.exe

代表啟動「d:\my_bat\mdf-api\feedserver\feedserverv1_3.exe」這個程式

bat檔案(批處理檔案),批處理命令!!!

批處理 batch 也稱為批處理指令碼。顧名思義,批處理就是對某物件進行批量的處理,通常被認為是一種簡化的指令碼語言,它應用於dos和windows系統中。批處理是由dos或者windows系統內嵌的命令直譯器 通常是command.com或者cmd.exe 解釋執行。類似於unix系統中的shel...

springMVC js等檔案找不到錯誤

我搭建的springmvc框架載入不到和js,css檔案,在網上找到的錯誤原因,很實用 應用springmvc時如果配置url對映時如下配置 會導致頁面引用的js css發生找不到的錯誤 以下有兩種方式解決問題,僅供參考 方法一 在web.xml中新增 html default org.apache...

bat批處理檔案

你在1.bat檔案裡寫上 echo 1 g 最終效果是 1.bat echo 1 g 即,bat檔案裡的每一行都會出現在命令列裡!如果不想顯示在命令列裡 1,要麼bat檔案裡,每一行前面都加上 表示這個命令不顯示在命令列裡 2,要麼在bat檔案開頭,寫echo off 下面的命令 都不會出現在命令列...