→ BZnoo: call EXENAME ./文字檔.txt 01/31 10:19
bat只有這樣的內容的話,cmd會跳出不是內部或外部的執行檔,找不到EXENAME
我必須先在前面加一行 「cd/d EXENAME所在路徑」,如何省略這行也能讓cmd知道我要
執行EXENAME。
另外就是我要如何修改原始EXENAME的PYTHON檔,讓EXENAME知道我要讀的txt檔案路徑
就是bat檔所在的路徑。
有部分我沒說清楚,EXENAME所在路徑叫A路徑,bat與txt檔案所在路徑同為B路徑,A
路徑與B路徑不相同
※ 編輯: caron0225 (60.248.190.37), 01/31/2019 12:35:39
→ justoncetime: bat是在OS上執行,要能任意地方都能跑urexe當然是OS 01/31 19:05
→ justoncetime: 解決,一般是去設定path. 01/31 19:05
→ justoncetime: 如會先cd到bat位置,那就是os.getcwd()現工作目錄 01/31 19:09
→ justoncetime: 如果想知道py自己位置os.path.realpath(__file__) 01/31 19:10
→ justoncetime: 我是g: get curreny py file location, 當然另外要 01/31 19:11
→ justoncetime: 有操作OS的觀念,遇到問題才能選擇比較萬用的方式. 01/31 19:12
→ justoncetime: 尤其是你的程式要丟給別人用的時候 01/31 19:12
→ justoncetime: 還要弄清相對/絕對路徑 01/31 19:14
→ BZnoo: 其實只要在bat檔裡指定EXENAME的絕對路徑就行了,餘相同 01/31 20:09
→ BZnoo: 第一行不要只 call //somedir1/somedir2/EXENAME ./某.txt 01/31 20:12
→ BZnoo: 因為你執行時是在bat所在 ./某.txt 當然是被引用得到的嚕 01/31 20:12
→ BZnoo: //指的是根目錄 若不同碟(區?)則前面要加上其名之類 查一下 01/31 20:15
感謝兩位大大的回答,已經解決我目前問題了!!
首先在windows的環境變數中去加入我的EXENAME路徑。
那麼在cmd中,不論在何種路徑下,都能執行EXENAME。
接著在EXENAME的原始python代碼中,透過os.getcwd()可以抓到我目前的工作路徑。
原本我一直以為os.getcwd()給的路徑指的是EXENAME的所在路徑,其實是指當前OS的
工作路徑,誤會很久了O_Q
感謝兩位大大們的回覆!!
※ 編輯: caron0225 (60.248.190.37), 02/01/2019 10:16:32
題外話,我在windows的環境變數中,並沒有看到abaqus在裡面,abaqus 是怎麼作到
不需要事前cd到執行檔所在路徑就可以執行呢?
是我在安裝abaqus軟體時,安裝檔把路徑給登錄到windows我看不到的地方嗎??
※ 編輯: caron0225 (60.248.190.37), 02/01/2019 10:31:30
→ justoncetime: docs.microsoft.com/windows/desktop/shell/ 02/01 16:13
→ justoncetime: app-registration 好像是這個吧(自己併路徑吧) 02/01 16:14