173人参与 • 2024-06-10 • Dos/bat
目标:在windows中,使用bat脚本在当前文件夹内创建文件或文件夹的快捷方式。
先分享两个比较简单的方式
创建快捷方式的主要方法有两种,一种是使用windows命令行工具,另一种是使用vbscript或者jscript。
在windows命令行中,我们可以使用mklink命令来创建快捷方式。这个命令的基本语法是:
mklink link target
其中,link是你想创建的快捷方式的路径,target是你想快捷的对象的路径。
例如,如果你想创建一个指向"c:\original\path\file.link"的快捷方式"c:\shortcut\file.txt",你可以在命令行中输入以下命令:
mklink c:\shortcut\file c:\original\path\file.txt
在vbscript或者jscript中,我们可以使用wscript.shell对象的createshortcut方法来创建快捷方式。以下是一个vbscript示例:
set oshelllink = ows.createshortcut("c:\shortcut\file.lnk") oshelllink.targetpath = "c:\original\path\file.txt" oshelllink.save
在这个例子中,我们首先创建了一个指向"c:\original\path\file.txt"的快捷方式"c:\shortcut\file.txt.lnk"。
注意:这些方法在创建快捷方式时有一些不同,mklink创建的是符号链接,而createshortcut创建的是真正的快捷方式。符号链接类似于快捷方式,但它指向的是文件或者文件夹的链接,而不是复制文件或者文件夹。真正的快捷方式会创建一个新的文件,这个文件包含了指向目标文件或文件夹的信息。
下面是比较好的两种方式,适合交互
下述两个代码都可以达到目标,根据实际情况选择一个即可。
修改rem注释部分的值,可自定义快捷键的名称和指向目标
通过结合vbs实现,因为bat文件的交互性不如vbs更强大与简介
@echo off echo 创建文件或文件夹的快捷方式 rem 程序工作目录 set workingdir=c: rem 快捷键指向的目标文件或文件夹 set targetpath=c: rem 快捷键显示的名字 set lnkpath=%~dp0\name.lnk set script="%temp%\%random%-%random%-%random%-%random%.vbs" echo set ows = wscript.createobject("wscript.shell") >> %script% echo slinkfile = "%lnkpath%" >> %script% echo set olink = ows.createshortcut(slinkfile) >> %script% ::设置快捷方式的目标位置 echo olink.targetpath = "%targetpath%" >> %script% ::设置快捷方式的起始位置 echo olink.workingdirectory = "%workingdir%" >> %script% echo olink.save >> %script% cscript /nologo %script% del %script%
也是通过vbs实现
@echo off & setlocal rem 快捷方式指向的目标文件或文件夹,必须填写 set arg1=c: rem 快捷方式创建位置,为空默认为桌面 set arg2= rem 快捷方式名称,为空默认为shortcut set arg3= if not defined arg1 goto usage if "%arg2%"=="" set arg2=desktop if "%arg3%"=="" set arg3=shortcut mshta vbscript:execute("set a=createobject(""wscript.shell""):set b=a.createshortcut(a.specialfolders(""%arg2%"") & ""\%arg3%.lnk""):b.targetpath=""%arg1%"":b.workingdirectory=""%~dp0"":b.save:close") echo 快捷键创建成功 pause goto :eof :usage echo 参数缺失:%~n0 targetpath [shortcutfolder] [shortcutname] pause goto :eof
为了结合我们自己的使用,将生成的快捷方式 复制到自启动目录里面
我们是结合了hou计划任务
@echo off echo 创建文件或文件夹的快捷方式 rem 程序工作目录 set workingdir=d:\tools\houjihua rem 快捷键指向的目标文件或文件夹 set targetpath=d:\tools\houjihua\ontimer.exe rem 快捷键显示的名字 set lnkpath=%~dp0\ontimer.lnk set script="%temp%\%random%-%random%-%random%-%random%.vbs" echo set ows = wscript.createobject("wscript.shell") >> %script% echo slinkfile = "%lnkpath%" >> %script% echo set olink = ows.createshortcut(slinkfile) >> %script% ::设置快捷方式的目标位置 echo olink.targetpath = "%targetpath%" >> %script% ::设置快捷方式的起始位置 echo olink.workingdirectory = "%workingdir%" >> %script% echo olink.save >> %script% cscript /nologo %script% del %script% cd /d %workingdir% copy %lnkpath% "c:\users\administrator\appdata\roaming\microsoft\windows\start menu\programs\startup\" rem start ontimer.exe pause
主要是考虑下面的目录中间有空间需要加 双引号
快速进入启动目录
win + r
快捷键打开运行窗口;
输入 shell:startup
,点击“确定”即可;
cd /d %workingdir% copy %lnkpath% "c:\users\administrator\appdata\roaming\microsoft\windows\start menu\programs\startup\" rem start ontimer.exe pause
完美解决问题。
到此这篇关于使用bat脚本在当前文件夹内创建文件或文件夹的快捷方式的文章就介绍到这了,更多相关bat脚本创建文件或文件夹的快捷方式内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论