使用bat腳本在當(dāng)前文件夾內(nèi)創(chuàng)建文件或文件夾的快捷方式
目標(biāo):在windows中,使用bat腳本在當(dāng)前文件夾內(nèi)創(chuàng)建文件或文件夾的快捷方式。
先分享兩個比較簡單的方式
BAT創(chuàng)建快捷方式的兩種方法
創(chuàng)建快捷方式的主要方法有兩種,一種是使用Windows命令行工具,另一種是使用VBScript或者JScript。
方法一:使用Windows命令行工具
在Windows命令行中,我們可以使用mklink命令來創(chuàng)建快捷方式。這個命令的基本語法是:
mklink Link Target
其中,Link是你想創(chuàng)建的快捷方式的路徑,Target是你想快捷的對象的路徑。
例如,如果你想創(chuàng)建一個指向"C:\original\path\file.link"的快捷方式"C:\shortcut\file.txt",你可以在命令行中輸入以下命令:
mklink C:\shortcut\file C:\original\path\file.txt
方法二:使用VBScript或者JScript
在VBScript或者JScript中,我們可以使用WScript.Shell對象的CreateShortcut方法來創(chuàng)建快捷方式。以下是一個VBScript示例:
Set oShellLink = oWS.CreateShortcut("C:\shortcut\file.lnk") oShellLink.TargetPath = "C:\original\path\file.txt" oShellLink.Save
在這個例子中,我們首先創(chuàng)建了一個指向"C:\original\path\file.txt"的快捷方式"C:\shortcut\file.txt.lnk"。
注意:這些方法在創(chuàng)建快捷方式時有一些不同,mklink創(chuàng)建的是符號鏈接,而CreateShortcut創(chuàng)建的是真正的快捷方式。符號鏈接類似于快捷方式,但它指向的是文件或者文件夾的鏈接,而不是復(fù)制文件或者文件夾。真正的快捷方式會創(chuàng)建一個新的文件,這個文件包含了指向目標(biāo)文件或文件夾的信息。
高級示例
下面是比較好的兩種方式,適合交互
下述兩個代碼都可以達(dá)到目標(biāo),根據(jù)實際情況選擇一個即可。
修改REM注釋部分的值,可自定義快捷鍵的名稱和指向目標(biāo)
實現(xiàn)代碼一
通過結(jié)合vbs實現(xiàn),因為bat文件的交互性不如vbs更強(qiáng)大與簡介
@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%
實現(xiàn)代碼二
也是通過vbs實現(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ù)制到自啟動目錄里面
我們是結(jié)合了hou計劃任務(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
主要是考慮下面的目錄中間有空間需要加 雙引號
快速進(jìn)入啟動目錄
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
完美解決問題。
到此這篇關(guān)于使用bat腳本在當(dāng)前文件夾內(nèi)創(chuàng)建文件或文件夾的快捷方式的文章就介紹到這了,更多相關(guān)bat腳本創(chuàng)建文件或文件夾的快捷方式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
bat腳本顯示本機(jī)IP地址的兩種方法(內(nèi)網(wǎng)ip)
有時候我們需要查看本機(jī)的ip地址,一般情況下都是到網(wǎng)上鄰居或ipconfig命令查看,這里為大家分享下用bat實現(xiàn)的代碼,喜歡的朋友可以試試2014-07-07Windows CMD taskkill命令詳解(強(qiáng)制關(guān)閉啟動程序)
taskkill 是 Windows 操作系統(tǒng)中一個非常實用的命令行工具,主要用于終止一個或多個正在運行的進(jìn)程2025-03-03