You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.6 KiB
61 lines
1.6 KiB
@echo off
|
|
setlocal enabledelayedexpansion
|
|
chcp 65001
|
|
|
|
:: 设置快捷方式的源路径
|
|
set "SOURCE_SHORTCUT=案件管理与分析系统.lnk"
|
|
|
|
:: 获取注册表中的桌面路径
|
|
for /f "tokens=3*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do (
|
|
set "REG_DESKTOP=%%a %%b"
|
|
)
|
|
|
|
:: 获取系统默认的桌面路径
|
|
set "DEFAULT_DESKTOP=%USERPROFILE%\Desktop"
|
|
|
|
:: 判断变量REG_DESKTOP最后一个字符是否是空格,如果是则去除
|
|
set "LAST_CHAR=%REG_DESKTOP:~-1%"
|
|
if "%LAST_CHAR%"==" " (
|
|
set "REG_DESKTOP=%REG_DESKTOP:~0,-1%"
|
|
)
|
|
|
|
echo %REG_DESKTOP% | findstr /C:"C:" >nul
|
|
if %errorlevel% EQU 0 (
|
|
echo REG_DESKTOP 包含字符串 C:
|
|
set "PATH=%DEFAULT_DESKTOP%"
|
|
) else (
|
|
echo REG_DESKTOP 不包含字符串 C:
|
|
set "PATH=%REG_DESKTOP%"
|
|
)
|
|
|
|
:: 拼接快捷方式目标路径
|
|
set "SHORTCUT_PATH=%PATH%\%SOURCE_SHORTCUT%"
|
|
|
|
echo 桌面文件夹路径: %PATH%
|
|
echo 拼接快捷方式目标路径: %SHORTCUT_PATH%
|
|
|
|
:: 检查同级目录下快捷方式是否存在
|
|
if not exist "%SOURCE_SHORTCUT%" (
|
|
echo 快捷方式不存在: %SOURCE_SHORTCUT%
|
|
exit /b
|
|
)
|
|
|
|
:: 检查桌面是否已存在同名快捷方式
|
|
if exist "%SHORTCUT_PATH%" (
|
|
echo 快捷方式已存在于桌面,不需要创建
|
|
exit /b
|
|
)
|
|
|
|
:: 复制快捷方式到桌面并保留文件属性
|
|
%SystemRoot%\System32\xcopy.exe /k /y "%SOURCE_SHORTCUT%" "%PATH%"
|
|
|
|
:: 检查复制是否成功
|
|
if %ERRORLEVEL% EQU 0 (
|
|
echo 快捷方式已成功复制到桌面
|
|
) else (
|
|
echo 复制快捷方式失败,请检查权限
|
|
)
|
|
|
|
endlocal
|
|
|
|
:: pause
|