iT邦幫忙

0

使用Bat To Exe Converter轉換後開啟Excel變慢

原本批次檔內容有使用Call呼叫.CSV檔案(預設為使用Microsoft Excel開啟)開啟速度跟直接開啟一樣

為了避免被人編輯修改因此使用Bat To Exe Converter轉換為執行檔

但使用Bat To Exe Converter轉換相同批次檔內容的檔案後開啟Excel變非常慢,按下Ctrl+C檔案又會馬上開啟,語法改用start或是直接指定檔案開啟不加語法也都一樣,想請教有沒有辦法解決?

2 個回答

1
wwx
iT邦研究生 1 級 ‧ 2017-01-18 09:02:35

當然會慢阿!
因為Bat2Exec是DOS程式,
轉換出來的com/exe檔當然也是DOS程式(16位元程式),
所以在Windows上執行時要先進入DOS模擬(如ntvdm)
結果在DOS模擬之下又要跑excel是Windows的程式,
反覆切換就會很慢了囉~

改善方法:

  1. 找找看有沒有Windows版的這種工具,不然自己寫...
  2. 可以用壓縮程式(如WinRAR)把bat檔壓在裡面,
    作成自解壓縮執行時於解壓後會呼叫bat檔...
    PS:用安靜模式,並讓批次檔於最後自己刪除批次檔
lcjh20516 iT邦新手 5 級 ‧ 2017-01-18 10:06:58 檢舉
  1. 改使用QuickBatchFileCompiler就沒有上述問題產生...
  2. 主要是要對批次檔內容加密...您所述方式也可行,但批次檔無保密效果
wwx iT邦研究生 1 級 ‧ 2017-01-18 18:13:00 檢舉

QuickBatchFileCompiler是Win32的程式所已沒有vdm的問題m但是免費版不是會先顯示訊息而暫停嗎? 結果反而還要按一下鍵盤才會動作不是嗎?

倘批次檔就只是要開csv檔,那可以csv檔放壓縮直接開,就不用批次檔了,且csv檔每次都是重解壓等同還原內容,使用過程改來改去也沒關係只要重跑自解壓就會還原成最初內容...

總之看目的為何作合適的設計安排即可~

往往看到問題當下想到任何可能就寫什麼,
壓縮程式最普遍正好拿來說明用Win程式呼叫和DOS程式呼叫的差異,多了這種想法不也是很有趣,還能先轉成執行檔再放壓縮檔中運用...

lcjh20516 iT邦新手 5 級 ‧ 2017-01-19 14:01:59 檢舉

QuickBatchFileCompiler試用版限制問題容易解決...

因為CSV為NAS內的資料,需下載後再執行開啓避免使用者修改,且放入壓縮檔會有更新上的問題,因此下載後使用批次檔呼叫才可確認是最新版本

感謝您的答覆

0
darkslayer
iT邦好手 1 級 ‧ 2017-01-18 11:43:39

你把批次檔轉成EXE檔, 這樣進EXCEL後資料還是可以修改啊!!
有考慮過直接轉成PDF給使用者用嗎?

lcjh20516 iT邦新手 5 級 ‧ 2017-01-19 14:03:29 檢舉

CSV為NAS內的資料,已有設定唯讀權限,下載後再執行開啓避免使用者修改(避免佔用連線數),轉成PDF會有更新上的問題

感謝您的答覆

我要發表回答

立即登入回答