Batch file 生成的脚本不';不要创建快捷方式
我的Windows 8 PC似乎不想使用VBScript创建快捷方式。 问题是,它不知何故无法挽救。这似乎是一个问题,只有我的电脑有 我正在尝试使用批处理创建临时VBScript,得到的输出为: C:\Users\ALBERT~1\AppData\Local\Temp\11338-3520-31784-27073.vbs(5,1) WshShortcut.Save:快捷方式 “C:\Users\albertmeller\Downloads\Desktop\ASKontrolpanel.lnk”无法访问 得救 这是我的VBScript代码:Batch file 生成的脚本不';不要创建快捷方式,batch-file,vbscript,lnk,Batch File,Vbscript,Lnk,我的Windows 8 PC似乎不想使用VBScript创建快捷方式。 问题是,它不知何故无法挽救。这似乎是一个问题,只有我的电脑有 我正在尝试使用批处理创建临时VBScript,得到的输出为: C:\Users\ALBERT~1\AppData\Local\Temp\11338-3520-31784-27073.vbs(5,1) WshShortcut.Save:快捷方式 “C:\Users\albertmeller\Downloads\Desktop\ASKontrolpanel.lnk”无
set SCRIPT="%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs"
echo Set oWS = WScript.CreateObject("WScript.Shell") >> %SCRIPT%
echo sLinkFile = "Desktop\ASKontrolpanel.lnk" >> %SCRIPT%
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %SCRIPT%
echo oLink.TargetPath = "%ProgramData%\AutoShutdown\AutomaticShutdown.bat" >> %SCRIPT%
echo oLink.Save >> %SCRIPT%
cscript /nologo %SCRIPT%
del %SCRIPT%
它似乎在我测试过的所有其他计算机上都能工作,也就是3。
我尝试使用管理员权限打开它,但它仍然不起作用。请尝试此代码,并告诉我它是否适用于您
@echo off
mode con cols=87 lines=5 & color 9B
Title Generer le vbscript pour la creation du raccourci sur le bureau by Hackoo
echo Generer le vbscript pour la creation du raccourci
Timeout /T 2 > Nul
(
echo Call Shortcut("%windir%\system32\calc.exe","Calculatrice"^)
echo ^'**********************************************************************************************^)
echo Sub Shortcut(CheminApplication,Nom^)
echo Dim objShell,DesktopPath,objShortCut,MyTab
echo Set objShell = CreateObject("WScript.Shell"^)
echo MyTab = Split^(CheminApplication,"\"^)
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^(CheminApplication^)
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
echo Execution du vbscript pour la creation du raccourci de la calculatrice sur le bureau
Start /Wait Shortcutme.vbs
echo Suppression du Vbscript
Del Shortcutme.vbs
echo Termine
Pause > Nul
此Vbscript可以在桌面上创建一个快捷方式,询问您是否要关闭计算机
Option Explicit
Dim MyScriptPath
MyScriptPath = WScript.ScriptFullName
Call Shortcut(MyScriptPath,"Shutdown the computer")
Call AskQuestion()
'**********************************************************************************************
Sub Shortcut(PathApplication,Name)
Dim objShell,DesktopPath,objShortCut,MyTab
Set objShell = CreateObject("WScript.Shell")
MyTab = Split(PathApplication,"\")
If Name = "" Then
Name = MyTab(UBound(MyTab))
End if
DesktopPath = objShell.SpecialFolders("Desktop")
Set objShortCut = objShell.CreateShortcut(DesktopPath & "\" & Name & ".lnk")
objShortCut.TargetPath = Dblquote(PathApplication)
ObjShortCut.IconLocation = "%SystemRoot%\system32\SHELL32.dll,-28"
objShortCut.Save
End Sub
'**********************************************************************************************
Sub AskQuestion()
Dim Question,Msg,Title
Title = "Shutdown the computer"
Msg = "Are you sure to shutdown the computer now ?"& Vbcr &_
"If yes, then click [YES] button "& Vbcr &_
"If not, then click [NO] button"
Question = MsgBox (Msg,VbYesNo+VbQuestion,Title)
If Question = VbYes then
Call Run_Shutdown(30)
else
WScript.Quit()
End if
End Sub
'**********************************************************************************************
Function DblQuote(Str)
DblQuote = Chr(34) & Str & Chr(34)
End Function
'**********************************************************************************************
Sub Run_Shutdown(N)
Dim ws,Command,Execution
Set ws = CreateObject("wscript.Shell")
Command = "Cmd /c Shutdown -s -t "& N &" -c "& DblQuote("Save your work because your PC will shut down in "& N &" seconds")
Execution = ws.run(Command,0,True)
End sub
'**********************************************************************************************
编辑:2015年6月4日
在本例中,应将批处理文件路径替换为“e:\Temp\t.bat”,并将快捷方式名称替换为“Hackoo”
Call Shortcut("e:\Temp\t.bat","Hackoo")
'*********************************************************************************
Sub Shortcut(PathApplication,Name)
Dim objShell,DesktopPath,objShortCut,MyTab
Set objShell = CreateObject("WScript.Shell")
MyTab = Split(PathApplication,"\")
If Name = "" Then
Name = MyTab(UBound(MyTab))
End if
DesktopPath = objShell.SpecialFolders("Desktop")
Set objShortCut = objShell.CreateShortcut(DesktopPath & "\" & Name & ".lnk")
objShortCut.TargetPath = Dblquote(PathApplication)
ObjShortCut.IconLocation = "%SystemRoot%\system32\SHELL32.dll,-25"
objShortCut.Save
End Sub
'*********************************************************************************
Function DblQuote(Str)
DblQuote = Chr(34) & Str & Chr(34)
End Function
'*********************************************************************************
下载中是否存在桌面目录?您可能是指
echo-sLinkFile=“%userprofile%\Desktop\ASKontrolpanel.lnk”>%SCRIPT%
也不起作用-您已经尝试过了(现在再次尝试)。我的电脑好像有问题。看看它是否给你同样的行为。我是VBS的noob。。。那么,我到底需要把它放在哪里,需要编辑什么呢?用以下内容替换set Script
和del%Script%
(基本上是整个该死的东西):powershell“$s=(新对象-COM WScript.Shell)。CreateShortcut('%userprofile%\Desktop\ASKontrolpanel.lnk'));$s.TargetPath='%ProgramData%\AutoShutdown\AutomaticShutdown.bat';$s.Save()“
有效。。。令人惊讶的是。。。。但是,我的代码应该可以很好地工作-只是在我的电脑上不能。尽管如此。。。这真是讨厌,哈哈。你知道为什么你的工作,而不是我的吗?你的意思是,这段代码不适用于你,只适用于安装在电脑上的Windows 8,也不适用于不同机器上的其他操作系统或其他东西?这段代码,你的代码在我的电脑(Windows 8)上运行得非常好,但是上面主要问题中的附加代码在这台电脑上不起作用,但似乎在我试用过的所有其他电脑上都起作用。虽然你的工作,但我不知道我能拿出什么,让它成为我的道路。。。。我想要一个简单的小vbs代码制作一个xxxx到xxxx目的地的快捷方式。不过,我很想知道为什么我在问题^中附加的代码在这台电脑上不起作用…:/我应该把.lnk放在哪里?这不是我真正想要的。。。你的第一个答案太棒了!我只需要知道在哪里放置桌面以外的其他目标路径,我已经做好了标记。