一个复制的批处理
程序员文章站
2022-05-08 16:57:55
...
公司推一个软件系统,销售跑到各个门店去安装,并教导使用方法
门店的电脑是用拖机卡拓展的,一个台式主机,带几个屏幕和鼠标。
软件是基于chromium开发的,默认安装到用户文件夹当中,而主机是管理员,分机是普通用户,由于权限问题,出现各种打不开。
可以用右键始终以管理员运行,这个方法来让分机运行软件。不过斟酌了一下,还是复制到program file,再添加everyone权限。
软件就叫A系统吧
@echo off & title A系统安装辅助脚本
setlocal EnableDelayedExpansion & color 3e
if not exist "%userprofile%\AppData\Roaming\A" (
echo. A系统 未安装
ping -n 4 127.1>nul
exit
) else (
goto menu
)
:Menu
cls
echo.
echo 安装脚本0.20
echo.
echo ------------------------------------------------------------------------
echo. 该脚本会复制A系统文件夹至C:\Program Files
echo.
echo. 并添加everyone权限,在公用桌面建立快捷方式
echo.
echo. 适用于各门店中,单主机,多屏多用户模式
echo.
echo. 开始请输入:1
echo.
echo. 退出请输入:2
echo.
echo. ------------------------------------------------------------------------
set /p tsk="请输入数字回车开始: "
if /i "%tsk%"=="1" Goto copy
if /i "%tsk%"=="2" Goto exit
echo.
echo. 选择无效...请重新输入...
ping -n 2 127.1>nul
goto menu
:copy
echo.
if not exist "%programfiles%\A" (
mkdir "%programfiles%\A".
)
echo.正在复制
Xcopy "%userprofile%\AppData\Roaming\A" "%programfiles%\A" /e /q
echo.
echo.正在提权
icacls "%programfiles%\A" /grant everyone:(OI)(CI)(F) /T >nul
echo.
echo.正在创建快捷方式
mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(a.SpecialFolders(""AllUsersDesktop"") & ""\A+.lnk""):b.TargetPath=""%programfiles%\A\A.exe"":b.WorkingDirectory=""%programfiles%\A"":b.Save:close")
echo.
echo.安装完成,请尝试分机桌面的A系统快捷方式
echo.
echo.
pause
:exit
echo.
echo. 正在退出
ping -n 3 127.1>nul
exit