2017-08-31 121 views
1

我能为这个位置手动创建一个快捷方式文件(%WINDIR%\ SYSTEM32 \ RUNDLL32.EXE ADVAPI32.DLL,ProcessIdleTasks)创建批处理文件来创建快捷方式

我想要做相同的.bat文件(不是.vbs visual basic)。 Google搜索后我尝试了这个,但它不起作用。请告诉我正确的脚本,并请解释每个命令。

@echo off 
echo [InternetShortcut] >> "%AllUsersProfile%\desktop\shortcut.Ink" 
echo URL="%windir%\system32\rundll32.exe" >> "%AllUsersProfile%\desktop\shortcut.ink" 
+2

可能是它工作得更好,如果你把它少丰富多彩:它不是'.ink',这是'.lnk'('.LNK') – Stephan

+1

你应该呼应'%% WINDIR %%'如果你希望内容读取'%WinDir%',尽管'%% SystemRoot %%'是可取的,因为'%WinDir%'只是出于传统原因。另外,你是否知道现代操作系统不使用'%AllUsersProfile%',它们使用'%Public%'。也就是说,任何不使用“RunDll32”而没有路径或扩展名的系统都会被破坏。 – Compo

+0

那么stephan,我把.ink改成了.lnk,现在创建了.lnk文件,但是在属性中它没有Target选项卡。 – sadiqeen

回答

0

我提出一个小混合脚本[BAT/VBS]创建桌面快捷方式。 你当然可以修改它以达到你的目的。

@echo off 
mode con cols=87 lines=5 & color 9B 
Title Shortcut Creator for your batch and applications files by Hackoo 
Set MyFile=%~f0 
Set ShorcutName=HackooTest 
(
echo Call Shortcut("%MyFile%","%ShorcutName%"^) 
echo ^'**********************************************************************************************^) 
echo Sub Shortcut(ApplicationPath,Nom^) 
echo Dim objShell,DesktopPath,objShortCut,MyTab 
echo Set objShell = CreateObject("WScript.Shell"^) 
echo MyTab = Split(ApplicationPath,"\"^) 
echo If Nom = "" Then 
echo Nom = MyTab(UBound(MyTab^)^) 
echo End if 
echo DesktopPath = objShell.SpecialFolders("Desktop"^) 
echo Set objShortCut = objShell.CreateShortcut(DesktopPath ^& "\" ^& Nom ^& ".lnk"^) 
echo objShortCut.TargetPath = Dblquote(ApplicationPath^) 
echo ObjShortCut.IconLocation = "Winver.exe,0" 
echo objShortCut.Save 
echo End Sub 
echo ^'********************************************************************************************** 
echo ^'Fonction pour ajouter les doubles quotes dans une variable 
echo Function DblQuote(Str^) 
echo DblQuote = Chr(34^) ^& Str ^& Chr(34^) 
echo End Function 
echo ^'********************************************************************************************** 
) > Shortcutme.vbs 
Start /Wait Shortcutme.vbs 
Del Shortcutme.vbs 
::***************************************Main Batch******************************************* 
cls 
echo Done and your main batch goes here ! 
echo i am a test 
Pause > Nul 
::******************************************************************************************** 
+0

Hackoo,您的脚本会生成一个.bat文件,但是我想在桌面(无视觉基本)上为此目标(%windir%\ system32 \ rundll32.exe)生成.lnk文件。简单就是这样。请分享一个简单的脚本,用最少的命令posssible(目标,目的地,shorcut名称)。 – sadiqeen