소프트웨어 PE로 부팅해서 바탕화면에 바로가기 질문 드립니다.
2024.03.07 08:11
안녕하세요 PE로 부팅해서 바탕화면에 바로가기에 대한 질문을 드립니다.
@echo off
pushd %~dp0
if exist %Windir%\System32\cmd.exe set SysPath=%Windir%\System32
if exist %Windir%\Sysnative\cmd.exe set SysPath=%Windir%\Sysnative
if exist "X:\Windows\DeskLnk\count.txt" goto:Remove_Link
echo %date%>"X:\Windows\DeskLnk\count.txt"
copy /y "%USERPROFILE%\Desktop\*.lnk" "X:\Windows\DeskLnk\*.lnk"
%SysPath%\reg.exe add "HKEY_CLASSES_ROOT\Directory\background\shell\DeskLnk" /v "" /d "바탕 화면의 바로가기 제거" /f
%SysPath%\reg.exe add "HKEY_CLASSES_ROOT\Directory\background\shell\DeskLnk" /v "Icon" /d "imageres.dll,-5342" /f
:Tools
for %%a in ("C:\Tools\*.exe") do (
Shortcut.exe /f:"%USERPROFILE%\Desktop\%%~na.lnk" /a:c: /t:"C:\Tools\%%~na.exe" /w:C:\Tools
)
for /f "tokens=* usebackq" %%a in (`dir /b/ad "C:\Tools\"`) do (
for %%b in ("C:\Tools\%%~na\*.exe") do (
Shortcut.exe /f:"%USERPROFILE%\Desktop\%%~nb.lnk" /a:c: /t:"C:\Tools\%%~na\%%~nb.exe" /w:C:\Tools
))
exit
----- 이렇게 지정 해 주면 잘 됩니다.----
:Tools
for %%a in ("%Curdrv%\Tools\*.exe") do (
Shortcut.exe /f:"%USERPROFILE%\Desktop\%%~na.lnk" /a:c: /t:"%Curdrv%\Tools\%%~na.exe" /w:%Curdrv%\Tools
)
for /f "tokens=* usebackq" %%a in (`dir /b/ad "%Curdrv%\Tools\"`) do (
for %%b in ("%Curdrv%\Tools\%%~na\*.exe") do (
Shortcut.exe /f:"%USERPROFILE%\Desktop\%%~nb.lnk" /a:c: /t:"%Curdrv%\Tools\%%~na\%%~nb.exe" /w:%Curdrv%\Tools
))
exit
--- %Curdrv% 이렇게 해 보아도 안 됩니다. (구문이 잘못 되어 안 되겠지요)----
C:\Tools 폴더나 D:\Tools 폴더에 들어있는 APP 바로가기가 미리 C:\ 지정을 해 두면 바탕화면에 바로가기가 잘 만들어지는데 C, D, E, 아무데나 있어도 만들어지도록 하려면 어찌해야 하는지요 도움 부탁 드립니다.
이렇게하면 어떨까요?
ToolsLnk.cmd
@echo off
pushd %~dp0
for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
if exist %%a:\Tools\*.exe (set drv=%%a& goto Tools)
)
echo.
echo. 모든 드라이브 루트에 Tools 폴더가 없습니다.
pause >nul
:Tools
for %%a in ("%drv%:Tools\*.exe") do (
Shortcut.exe /f:"%USERPROFILE%\Desktop\%%~na.lnk" /a:c: /t:"%drv%:Tools\%%~na.exe" /w:%drv%:Tools
)
for /f "tokens=* usebackq" %%a in (`dir /b/ad "%drv%:Tools\"`) do (
for %%b in ("%drv%:Tools\%%~na\*.exe") do (
Shortcut.exe /f:"%USERPROFILE%\Desktop\%%~nb.lnk" /a:c: /t:"C:\Tools\%%~na\%%~nb.exe" /w:%drv%:Tools
)
exit