gpt4 book ai didi

command-line - 使用批处理和VBS创建快捷方式

转载 作者:行者123 更新时间:2023-12-02 04:04:05 25 4
gpt4 key购买 nike

我试图制作一个简单的(或至少我认为)批处理文件来查找特定文件类型的文件,然后创建快捷方式以使用特定程序打开它们。

经过大量的挖掘,我发现最好使用VBScript完成此操作,因此我创建了一个小脚本来为我创建快捷方式。这不起作用,所以我希望有人可以告诉我原因。谢谢。

MakeShortcuts.bat:

SET ShortcutPath=c:\shortcuts\
SET ProgramPath="c:\windows\notepad.exe"
SET SearchBaseDir="C:\Documents and Settings\"

FOR /R %SearchBaseDir% %%i IN (*.gba) DO (
createShortcut "%ShortcutPath%Open %%~ni.lnk" "%ProgramPath%" "%%i"
)

createShortcut.vbs:
set obShell = CreateObject("WScript.Shell")
sShortcut = obShell.ExpandEnvironmentStrings(WScript.Arguments.Item(0))
sTargetPath = obShell.ExpandEnvironmentStrings(WScript.Arguments.Item(1))
sArgument = obShell.ExpandEnvironmentStrings(WScript.Arguments.Item(2))
set shortcut = obShell.CreateShortcut(sShortcut)
shortcut.TargetPath = sTargetPath
shortcut.Arguments = sArgument
shortcut.Save

好的,所以当我运行MakeShortcuts.bat时,它将在命令行中显示消息[系统找不到指定的驱动器。

它会按预期方式创建快捷方式,但目标对象的参数周围没有引号,这会阻止快捷方式正常运行。我认为这也可能与上述错误消息有关。

我是VBScript的新手,所以我可能缺少一些愚蠢的东西。请帮忙。

谢谢。

最佳答案

我怀疑问题出在VBScript中,可能在批处理文件中。您分配给SearchBaseDir的值应该用双引号引起来,如下所示:

SET SearchBaseDir="C:\Documents and Settings\"

然后,您需要从传递给createShortcut的参数中删除引号。

您还需要确定将要使用%% i还是%% f,因为两者都不一致。将%% i重命名为%% f,或将%% f重命名为%% i。

最后,我对此不是很确定,但是最后的%% f可能必须替换为%%〜f,以消除双引号,如果它的值包含双引号的话。

关于command-line - 使用批处理和VBS创建快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8619506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com