2016-03-18 54 views
0

我創建一個批處理腳本URL快捷方式,但由於某些原因,它不設置圖標我告訴它設置...Windows批處理文件問題設置自定義URL文件圖標

代碼:

echo [InternetShortcut]> "C:\winapps\SysNetworkManager.url" 
echo URL="C:\winapps\snmres\winstart.bat">> "C:\winapps\SysNetworkManager.url" 
echo IconFile="C:\winapps\snmres\snmico.ico">> "C:\winapps\SysNetworkManager.url" 
echo IconIndex=0>> "C:\winapps\SysNetworkManager.url" 

它不設置圖標爲C:\ winapps \ snmres \ snmico.ico,而是將這個圖標:C:\ WINDOWS \ SYSTEM32 \ URL.DLL

+0

批處理文件正確寫入'IconFile'鍵;我假設你用Internet Explorer打開URL,然後修改文件。最後一行有一個問題:對於'cmd','='是一個象_SPACE_一樣的標記分隔符,'0 >>'被理解爲將_STDIN_(空)重定向到文件,所以'IconIndex'鍵是不寫;要解決這個問題,寫:'(echo IconIndex = 0)>>「C:\ winapps \ SysNetworkNamager.url」'。我不知道它是否應該是數字'1'而不是'0'(我剛剛檢查過我的系統中的一些隨機URL文件,其中大部分包含'IconIndex = 1',沒有包含'0')。 – aschipfl

回答

0

嘗試創建一個臨時VBS

@echo off 

set SCRIPT="%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs" 

echo Set oWS = WScript.CreateObject("WScript.Shell") >> %SCRIPT% 
echo sLinkFile = "%USERPROFILE%\Desktop\myshortcut.lnk" >> %SCRIPT% 
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %SCRIPT% 
echo oLink.TargetPath = "D:\myfile.extension" >> %SCRIPT% 
echo oLink.Save >> %SCRIPT% 
echo oLink.IconLocation = "C:\myicon.extension" >> %SCRIPT% 

cscript /nologo %SCRIPT% 
del %SCRIPT%`