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.
|
|
@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
|