2017-08-31 211 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