
已解決關于shortcut創建快捷方式的批處理最后由 大地 于 -5-10 11:01.上次辛苦了went老師寫了用mklink的批處理代碼,我學了半知半解,現在又想學習用shortcut的方法創建,根據shortcut的方法把原批處理照樣畫葫蘆改了一下,正常運行創建目錄及文件,但是目標上的快捷方式好像不完整,點擊無反應,屬性沒顯示是快捷方式,哪位老師能幫我分析一下,哪里畫錯了需要改進一下,全程代碼如下:
nclick="copycode($('code0'));">復制代碼
- @echo off
- REM Admin
- %1 start mshta vbscript:createobject(shell.application).shellexecute(%~0,REM,,runas,1)(window.close)&exit
- REM search drivers
- set drivers=C D E F G H I J K L M N O P Q R S T U V W
- REM exe foldername
- set exeFolderName=集群工具包
- REM main foldername
- set linkFolderName1=%USERPROFILE%desktop
- set linkFolderName2=%ProgramData%MicrosoftWindowsStart MenuPrograms
- REM esp exe
- set espExe=磁盤軟件BOOTICE.exe?圖片工具小型截圖軟件.exe?鏡像軟件UltraISO.exe?播放器PotPlayer.exe?數據恢復數據恢復.exe
- REM start
- for %%i in (%drivers%) do if exist %%i: (
- set /p=check:%%i:%exeFolderName% <nul
- if exist %%i:%exeFolderName% (
- echo OK!
- set folder=%%i:%exeFolderName%
- goto :done
- ) else echo not found!
- )
- echo -------------
- for %%i in (%drivers%) do (
- cd /d %%i: 2>nul && (
- echo search %%i: please wait...
- for /r /d %%a in (*) do (
- if %%~na equ %exeFolderName% (
- set folder=%%~a
- goto :done
- )
- )
- )
- )
- :done
- if %folder%== echo %exeFolderName% not found! & pause&exit
- echo -------------
- echo folder=%folder%
- echo -------------
- for /r %folder% %%i in (*.exe) do (
- echo mklink: %%~i
- call set exe=%%~i
- call echo %espExe% | call findstr /i /C:%%exe:%folder%=%% >nul 2>nul && (
- call echo add %userprofile%desktop
- shortcut /f:%userprofile%desktop%%~ni /a:c /t:%%~i >nul
- )
- for /f tokens=2 delims== %%a in ('set linkFolderName') do (
- call set link=%%a%exeFolderName%%%exe:%folder%=%%
- call mkdir %%link:%%~nxi=%% >nul 2>nul
- call shortcut /f:%%link:~0,-4%% /a:c /t:%%~i >nul
- )
- )
- pause&exit

