GUI使用脚本自动登录

SAP GUI从740之后快捷登录就无法设置密码了,那么如果登录起来会非常不方便,作为一名懒人决定不能让这事发生,好在SAP提供了sapshcut.exe工具,通过命令行方式可以实现直接登录,经过摸索结合windows的BAT功能能做到如下效果。

脚本提供两种方式登录。

1.windows+R 输入“SAP 登录名 集团号 用户名” 进行直接登录,登录名为GUI上设置的登录名称

2.windows+R 输入“SAP” 进行登录系统选择,填写对应的数字直接进行登录

工具设置方法也插简单主要分为3步进行

  • 首先对GUI的登录设置名称进行调整,设置简单毕竟名称太长后面输入命令行时会很麻烦

  • 再建立登录BAT文件,代码如下

@echo off
::@echo %dbg% off
color 0a
mode con: cols=20 lines=2
title=打开SAP GUI
::设置颜色
color 0B

::输入的参数转大写
set system=%~1
set user=%~3
SET CLIENT=%~2
for %%i in (A B 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 call set system=%%system:%%i=%%i%%
for %%i in (A B 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 call set user=%%user:%%i=%%i%%

::没有参数进入系统选择界面
setlocal enabledelayedexpansion 
IF "%system%" == "A=A" (
cls
echo  ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
echo  ┃ ***********请选择对应选项的数字***********     ┃
echo  ┃                                                ┃
echo  ┃    1. XX 配置系统                            ┃
echo  ┃                                                ┃
echo  ┃    2. XX 测试系统                            ┃
echo  ┃                                                ┃
echo  ┃    3. XX 生产系统                            ┃
echo  ┃                                                ┃
echo  ┃    4. 退出                                     ┃
echo  ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
set /p ipt="请选择:"

setlocal enabledelayedexpansion
::按选择项设置对应登录的系统参数
IF !ipt! EQU 1  (    
set system=系统名称
set user=用户
SET CLIENT=集团
    )

IF !ipt! EQU 2  (
set system=系统名称
set user=用户
SET CLIENT=集团
    )

IF !ipt! EQU 3  (
set system=系统名称
set user=用户
SET CLIENT=集团
    )

)

::按用户来匹配密码,默认同一个用户名在不同系统密码一样,如果不一致需要调整代码
IF "%user%" EQU "用户1"  ( 
    set pw=密码
    )
IF "%user%" EQU "用户2"  (
    set pw=密码
    )
IF "%user%" EQU "用户3"  (
    set pw=密码
    )


::执行SAP GUI  调用SAPshcut.exe 传对应参数进行登录 
"C:\Program Files (x86)\SAP\FrontEnd\SAPgui\sapshcut.exe" -user=%user% -pw=%pw% -language=zh -SYSTEM=%system% -CLIENT=%CLIENT% -sysname=%system% -maxgui
endlocal
::完全特效功能,显示登录进度条
::@echo off
set a=▉&set b=69&set c=%% 
set space= 
:start
set a=%a%▉
set/a b-=2
set/a num+=3
if %num%==12 set/a b-=1
call set space=%%space:~0,%b%%%
if %num% gtr 100 set num=100%&&set c=
::color fc

echo SAP 运行中...
echo ┏─────────────────────────────────────┓
echo │%a%%space%%num%%c%│
echo ┗─────────────────────────────────────┛
ping/n 1 127.1>nul
if "%num%" neq "100%" cls&goto start
for /l %%a in (1,1,10) do color 0a
exit
  • 最后一步是在运行里直接输入文件名可以找到对应的路径,这里有两种方式,

1.将文件目录增加到系统的环境变量中,这样运行中就会默认的目录里找文件,

2.如果环境变量设置麻烦,可以直接将文件复制到C:\WINDOWS\SYSTE32中,或者上者默认的文件都可以。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值