本帖最后由 yyz219 于 2025-3-20 09:07 编辑
添到任务栏-文件(夹)(也支持快捷方式).bat- @echo off
- ::【双击退出,拖运行】
- if "%~1"=="" exit /b 3
- 隐藏批处理窗口.exe @ /HID
- ::【检测“TaskBar”里面,有无 “文件名.lnk” 文件(有向下(退出),无到 :A)】
- cd /d "%appData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\" >nul 2>nul
- if not exist "%~n1.lnk" goto :A
- exit
- ::==============================================================================================
- :A
- ::【检测(被拖文件是否.lnk)(是跳到:S,否跳到:T)】
- echo %~1 |findstr /rec:".lnk *"&&goto :S||goto :T
- ::▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆【下面是对(.lnk)的代码】▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆
- :S
- RD /S /Q "%~dp0lnk文件" >nul 2>nul &MD "%~dp0lnk文件\" &xcopy /y %1 "%~dp0lnk文件\" >nul 2>nul
- ::==============================================================================================
- ::【获取:lnk指向目标】
- >"%tmp%\t.t" echo;WSH.echo CreateObject("WScript.Shell").CreateShortcut(WSH.Arguments(0)).targetpath & for /f "delims=" %%a in ('cscript -nologo -e:vbscript "%tmp%\t.t" "%~1"') do set "lnk指向目标=%%a"
- set "lnk路径=%~1"
- ::==============================================================================================
- ::【添加:在快捷方式的目标最前面,添加 “explorer.exe ”】
- >"lnk(含explorer.exe).vbs" echo Set WshShell = WScript.CreateObject("WScript.Shell")
- >>"lnk(含explorer.exe).vbs" echo strShortcutPath = "%lnk路径%" '快捷方式的路径
- >>"lnk(含explorer.exe).vbs" echo Set oShellLink = WshShell.CreateShortcut(strShortcutPath)
- >>"lnk(含explorer.exe).vbs" echo oShellLink.TargetPath = "%SystemRoot%\explorer.exe"
- >>"lnk(含explorer.exe).vbs" echo oShellLink.Arguments = "%lnk指向目标%" '文件夹路径
- >>"lnk(含explorer.exe).vbs" echo oShellLink.Save '保存
- lnk(含explorer.exe).vbs
- ::==============================================================================================
- ::【固定在任务栏】
- Pecmd.exe PINT "%lnk路径%",TaskBand
- ::==============================================================================================
- ::【修改:(TaskBar目录、原来目录)里面的快捷方式为正常】
- copy /y "%~dp0lnk文件\*.*" "%appData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\"
- copy /y "%~dp0lnk文件\*.lnk" "%~dp1"
- ::==============================================================================================
- ::【删除无用文件(文件夹)】
- RD /S /Q "%~dp0lnk文件\" & del lnk(含explorer.exe).vbs
- ::==============================================================================================
- ::【刷新】
- ASSOC .tmp=tmpfile
- exit
- ::▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆【下面是对(文件夹 和 文件)的代码】▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆
- :T
- "%~dp0创建快捷方式.exe" /f:"%~dp1%~n1.lnk" /a:c /t:%1
- ::==============================================================================================
- set "lnk路径=%~dp1%~n1.lnk"
- set "文件夹路径=%~1"
- ::【添加:在快捷方式的目标最前面,添加 “explorer.exe ”】
- >"lnk(含explorer.exe).vbs" echo Set WshShell = WScript.CreateObject("WScript.Shell")
- >>"lnk(含explorer.exe).vbs" echo strShortcutPath = "%lnk路径%" '快捷方式的路径
- >>"lnk(含explorer.exe).vbs" echo Set oShellLink = WshShell.CreateShortcut(strShortcutPath)
- >>"lnk(含explorer.exe).vbs" echo oShellLink.TargetPath = "%SystemRoot%\explorer.exe"
- >>"lnk(含explorer.exe).vbs" echo oShellLink.Arguments = "%文件夹路径%" '文件夹路径
- >>"lnk(含explorer.exe).vbs" echo oShellLink.Save '保存
- lnk(含explorer.exe).vbs
- ::==============================================================================================
- ::【固定在任务栏】
- Pecmd.exe PINT "%~dp1%~n1.lnk",TaskBand
- ::【删除无用文件(文件夹)】
- del lnk(含explorer.exe).vbs "%~dp1%~n1.lnk"
- ::【修改:TaskBar里面的快捷方式为正常的 】
- "%~dp0创建快捷方式.exe" /f:"%appData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\%~n1.lnk" /a:c /t:%1
- ::【刷新】
- ASSOC .tmp=tmpfile
- exit
复制代码
|