使用bat腳本在當(dāng)前文件夾內(nèi)創(chuàng)建文件或文件夾的快捷方式
目標(biāo):在windows中,使用bat腳本在當(dāng)前文件夾內(nèi)創(chuàng)建文件或文件夾的快捷方式。
先分享兩個(gè)比較簡(jiǎn)單的方式
BAT創(chuàng)建快捷方式的兩種方法
創(chuàng)建快捷方式的主要方法有兩種,一種是使用Windows命令行工具,另一種是使用VBScript或者JScript。
方法一:使用Windows命令行工具
在Windows命令行中,我們可以使用mklink命令來(lái)創(chuàng)建快捷方式。這個(gè)命令的基本語(yǔ)法是:
mklink Link Target
其中,Link是你想創(chuàng)建的快捷方式的路徑,Target是你想快捷的對(duì)象的路徑。
例如,如果你想創(chuàng)建一個(gè)指向"C:\original\path\file.link"的快捷方式"C:\shortcut\file.txt",你可以在命令行中輸入以下命令:
mklink C:\shortcut\file C:\original\path\file.txt
方法二:使用VBScript或者JScript
在VBScript或者JScript中,我們可以使用WScript.Shell對(duì)象的CreateShortcut方法來(lái)創(chuàng)建快捷方式。以下是一個(gè)VBScript示例:
Set oShellLink = oWS.CreateShortcut("C:\shortcut\file.lnk")
oShellLink.TargetPath = "C:\original\path\file.txt"
oShellLink.Save在這個(gè)例子中,我們首先創(chuàng)建了一個(gè)指向"C:\original\path\file.txt"的快捷方式"C:\shortcut\file.txt.lnk"。
注意:這些方法在創(chuàng)建快捷方式時(shí)有一些不同,mklink創(chuàng)建的是符號(hào)鏈接,而CreateShortcut創(chuàng)建的是真正的快捷方式。符號(hào)鏈接類似于快捷方式,但它指向的是文件或者文件夾的鏈接,而不是復(fù)制文件或者文件夾。真正的快捷方式會(huì)創(chuàng)建一個(gè)新的文件,這個(gè)文件包含了指向目標(biāo)文件或文件夾的信息。
高級(jí)示例
下面是比較好的兩種方式,適合交互
下述兩個(gè)代碼都可以達(dá)到目標(biāo),根據(jù)實(shí)際情況選擇一個(gè)即可。
修改REM注釋部分的值,可自定義快捷鍵的名稱和指向目標(biāo)
實(shí)現(xiàn)代碼一
通過(guò)結(jié)合vbs實(shí)現(xiàn),因?yàn)閎at文件的交互性不如vbs更強(qiáng)大與簡(jiǎn)介
@echo off
echo 創(chuàng)建文件或文件夾的快捷方式
REM 程序工作目錄
set workingDir=C:
REM 快捷鍵指向的目標(biāo)文件或文件夾
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%
::設(shè)置快捷方式的目標(biāo)位置
echo oLink.TargetPath = "%targetPath%" >> %SCRIPT%
::設(shè)置快捷方式的起始位置
echo oLink.WorkingDirectory = "%workingDir%" >> %SCRIPT%
echo oLink.Save >> %SCRIPT%
cscript /nologo %SCRIPT%
del %SCRIPT%實(shí)現(xiàn)代碼二
也是通過(guò)vbs實(shí)現(xiàn)
@echo off & setlocal
REM 快捷方式指向的目標(biāo)文件或文件夾,必須填寫
set arg1=C:
REM 快捷方式創(chuàng)建位置,為空默認(rèn)為桌面
set arg2=
REM 快捷方式名稱,為空默認(rèn)為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 快捷鍵創(chuàng)建成功
pause
goto :eof
:usage
echo 參數(shù)缺失:%~n0 targetpath [shortcutfolder] [shortcutname]
pause
goto :eof為了結(jié)合我們自己的使用,將生成的快捷方式 復(fù)制到自啟動(dòng)目錄里面
我們是結(jié)合了hou計(jì)劃任務(wù)
@echo off
echo 創(chuàng)建文件或文件夾的快捷方式
REM 程序工作目錄
set workingDir=D:\tools\houjihua
REM 快捷鍵指向的目標(biāo)文件或文件夾
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%
::設(shè)置快捷方式的目標(biāo)位置
echo oLink.TargetPath = "%targetPath%" >> %SCRIPT%
::設(shè)置快捷方式的起始位置
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主要是考慮下面的目錄中間有空間需要加 雙引號(hào)
快速進(jìn)入啟動(dòng)目錄
Win + R 快捷鍵打開運(yùn)行窗口;
輸入 shell:Startup,點(diǎn)擊“確定”即可;
cd /d %workingDir% copy %lnkPath% "C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\" rem start OnTimer.exe pause

完美解決問(wèn)題。
到此這篇關(guān)于使用bat腳本在當(dāng)前文件夾內(nèi)創(chuàng)建文件或文件夾的快捷方式的文章就介紹到這了,更多相關(guān)bat腳本創(chuàng)建文件或文件夾的快捷方式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
bat腳本顯示本機(jī)IP地址的兩種方法(內(nèi)網(wǎng)ip)
有時(shí)候我們需要查看本機(jī)的ip地址,一般情況下都是到網(wǎng)上鄰居或ipconfig命令查看,這里為大家分享下用bat實(shí)現(xiàn)的代碼,喜歡的朋友可以試試2014-07-07
超級(jí)批處理病毒,不錯(cuò)的學(xué)習(xí)資料
超級(jí)批處理病毒,不錯(cuò)的學(xué)習(xí)資料...2007-05-05
全盤搜索指定文件并拷貝到指定位置[自動(dòng)重命名]的批處理
全盤搜索指定文件并拷貝到指定位置[自動(dòng)重命名]的批處理2009-12-12
Windows CMD taskkill命令詳解(強(qiáng)制關(guān)閉啟動(dòng)程序)
taskkill 是 Windows 操作系統(tǒng)中一個(gè)非常實(shí)用的命令行工具,主要用于終止一個(gè)或多個(gè)正在運(yùn)行的進(jìn)程2025-03-03

