2016-03-18 10 views
0

Ich bin eine URL-Verknüpfung mit einer Batch-Skript erstellen, aber aus irgendeinem Grunde, es stellt nicht das Symbol ich es sagen zu setzen ...Windows-Batch-Datei Problem Einstellung benutzerdefinierte URL file icon

Code:

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" 

es setzt nicht auf das Symbol als C: \ winapps \ snmres \ snmico.ico, anstatt sie auf dieses Symbol setzt: C: \ Windows \ system32 \ url.dll

+0

Die Batch-Datei schreibt den 'IconFile'-Schlüssel richtig; Ich nehme an, Sie öffnen die URL mit Internet Explorer, der die Datei dann ändert. Es gibt ein Problem mit der letzten Zeile: für 'cmd',' = 'ist ein Token-Trennzeichen genau wie _SPACE_, und' 0 >> 'wird so verstanden, dass _STDIN_ (leer) auf die Datei umgeleitet wird, also der IconIndex-Schlüssel nicht geschrieben; Um dies zu umgehen, schreiben Sie: '(echo IconIndex = 0) >>" C: \ winapps \ SysNetworkNamager.url "'. Ich bin mir nicht sicher, ob es die Nummer "1" und nicht "0" sein sollte (ich habe nur einige zufällige URL-Dateien auf meinem System überprüft, die meisten enthielten "IconIndex = 1", keine enthielt "0"). – aschipfl

Antwort

0

Versuchen sie eine temporäre Schaffung 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%` 
Verwandte Themen