jw项目windows环境软件安装
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

1 year ago
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. chcp 65001
  4. :: 设置快捷方式的源路径
  5. set "SOURCE_SHORTCUT=案件管理与分析系统.lnk"
  6. :: 获取注册表中的桌面路径
  7. for /f "tokens=3*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do (
  8. set "REG_DESKTOP=%%a %%b"
  9. )
  10. :: 获取系统默认的桌面路径
  11. set "DEFAULT_DESKTOP=%USERPROFILE%\Desktop"
  12. :: 判断变量REG_DESKTOP最后一个字符是否是空格,如果是则去除
  13. set "LAST_CHAR=%REG_DESKTOP:~-1%"
  14. if "%LAST_CHAR%"==" " (
  15. set "REG_DESKTOP=%REG_DESKTOP:~0,-1%"
  16. )
  17. echo %REG_DESKTOP% | findstr /C:"C:" >nul
  18. if %errorlevel% EQU 0 (
  19. echo REG_DESKTOP 包含字符串 C:
  20. set "PATH=%DEFAULT_DESKTOP%"
  21. ) else (
  22. echo REG_DESKTOP 不包含字符串 C:
  23. set "PATH=%REG_DESKTOP%"
  24. )
  25. :: 拼接快捷方式目标路径
  26. set "SHORTCUT_PATH=%PATH%\%SOURCE_SHORTCUT%"
  27. echo 桌面文件夹路径: %PATH%
  28. echo 拼接快捷方式目标路径: %SHORTCUT_PATH%
  29. :: 检查同级目录下快捷方式是否存在
  30. if not exist "%SOURCE_SHORTCUT%" (
  31. echo 快捷方式不存在: %SOURCE_SHORTCUT%
  32. exit /b
  33. )
  34. :: 检查桌面是否已存在同名快捷方式
  35. if exist "%SHORTCUT_PATH%" (
  36. echo 快捷方式已存在于桌面,不需要创建
  37. exit /b
  38. )
  39. :: 复制快捷方式到桌面并保留文件属性
  40. %SystemRoot%\System32\xcopy.exe /k /y "%SOURCE_SHORTCUT%" "%PATH%"
  41. :: 检查复制是否成功
  42. if %ERRORLEVEL% EQU 0 (
  43. echo 快捷方式已成功复制到桌面
  44. ) else (
  45. echo 复制快捷方式失败,请检查权限
  46. )
  47. endlocal
  48. :: pause