公司有個需求,希望每個使用者登入電腦後,自動下載好ERP需要的某個字型 如下
有發現字型下載好後,都會到 C:\Windows\Fonts 裡面,有試過把它刪掉,直接用手動移動檔案進去的方式,是可以成功下載進去
但如果是寫一個 bat 檔,利用xcopy 指令方式:
if not exist "%systemroot%\fonts\FRE3OF9X.TTF" (xcopy C:\FRE3OF9X.TTF %systemroot%\fonts)
它雖然寫複製成功,但似乎沒有真的傳進去,C:\Windows\Fonts 會找不到檔案,裡面的檔案如果成功應該會是長這樣 如下
但如果我使用 這串指令是找得到它的:
if exist "%systemroot%\fonts\FRE3OF9X.TTF" (%systemroot%\fonts\FRE3OF9X.TTF)
它會跳出最上面那張圖,代表我查詢的這個檔案確實在這個資料夾裡,可是不知道為什麼,使用bat檔 的 xcopy 方式會看不到它
我還有發現一個可能性,對這個檔案點右鍵,它的選項中是有安裝的,如下
不知道bat 指令怎麼寫可以讓它自動執行這個"安裝"選項
後來還有想利用 C# 或者 python,但打開這個檔案後,鍵盤可以輸入 "I" 讓它自動下載,但是敲指令方式,好像無法傳遞 輸入"I"這個指令 到這個檔案裡,頂多都是打在程式背景上
還請網路上的指令高手 指導指導
除了複製以外,還需要註冊字體
batch file:
copy "FRE3OF9X.TTF" "%WINDIR%\Fonts"
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "FRE3OF9X (TrueType)" /t REG_SZ /d FRE3OF9X.ttf /f
我測試後 WIN10 電腦可以
但WIN7 電腦不行
WIN10 電腦註冊檔輸入完 它會自動在fonts 資料夾跳出 Free 3 OF 9 延伸 這個字型
但WIN7 不會跳
順便想詢問 你編輯是多加了最後面的 /F 嗎?
他有什麼功用
編輯前 "FRE3OF9X (TrueType)"
錯植為 "FRE3OF9X.ttf"
不清楚 windows 7 不成功的原因,提供一些參考步驟,可以檢查一下或手動新增/刪除機碼測試看看
[1][2] [3]
關於 reg add
命令部份,/f
旨在略過機碼新增的確認,其他參數可以看 Microsoft Docs
那我再研究WIN7的看看
對了順便問你,批次檔怎麼樣可以讓它自動使用最高權限執行
因為要搬運 .TTF檔案 不是最高權限 不給我搬
我目前寫出來的批次檔,都要自己右鍵以系統管理員執行