上一篇說tcl中文亂碼是因為我寫了個bat調用該腳本,但是腳本中的中文路徑是亂碼。今天剛好有時間進行解決下:
首先看看調用代碼
"./bin/base-tcl8.6-thread-win32-x86_64.exe" 123.tcl pause
上面就是所用bat文件,是調用tcl安裝好之后的執行文件把腳本傳入來實現腳本的運行。
但是為什么是亂碼,把上面exe的路徑直接寫入安裝目錄下的exe,是沒有問題,但是換成另外目錄然后拷貝安裝環境的bin目錄來執行就是亂碼。對比下兩者的文件列表完全一致,后來想到tcl運行是需要環境配置的,這里的調用編碼方式不對所以才會亂碼。知道這個原因那么解決方法很簡單了,拷貝安裝目錄下的lib/tcl8.6整個目錄到腳本編寫目錄下,新建文件夾lib放入然后執行上述腳本就好了。
這樣做的目的是比如我寫了個腳本要在其他電腦運行,可以只拷貝bin和lib/tcl8.6就可以執行了,是不是so easy!
看看我的目錄結構:
安裝好tcl后,安裝目錄下其實就有bin和lib,只是lib里文件在只用腳本的時候大多用不上,所以精簡為只拷貝tcl8.6。