批处理if,goto 语句问题。这个判断没用啊。无论机器名是什么,都依次执行过去了
setn="%computername%"ifn==WKS001goto001ifn==WKS002goto002ifn=="WKS006"goto006:001copy...
set n="%computername%"
if n==WKS001 goto 001
if n==WKS002 goto 002
if n=="WKS006"goto 006
:001
copy j:\\001\账号列表.ini d:\j:\\001\OPPO脚本 /y
J:
cd\001\OPPO脚本
start ADMIN.exe
:002
copy j:\\002\账号列表.ini d:\j:\\002\OPPO脚本 /y
J:
cd\002\OPPO脚本
start ADMIN.exe
:006
copy j:\\006\账号列表.ini d:\j:\\006\OPPO脚本 /y
J:
cd\006\OPPO脚本
start ADMIN.exe
:007
copy j:\\007\账号列表.ini d:\j:\\007\OPPO脚本 /y
J:
cd\007\OPPO脚本
start ADMIN.exe
pause 展开
if n==WKS001 goto 001
if n==WKS002 goto 002
if n=="WKS006"goto 006
:001
copy j:\\001\账号列表.ini d:\j:\\001\OPPO脚本 /y
J:
cd\001\OPPO脚本
start ADMIN.exe
:002
copy j:\\002\账号列表.ini d:\j:\\002\OPPO脚本 /y
J:
cd\002\OPPO脚本
start ADMIN.exe
:006
copy j:\\006\账号列表.ini d:\j:\\006\OPPO脚本 /y
J:
cd\006\OPPO脚本
start ADMIN.exe
:007
copy j:\\007\账号列表.ini d:\j:\\007\OPPO脚本 /y
J:
cd\007\OPPO脚本
start ADMIN.exe
pause 展开
2个回答
展开全部
@echo off
set n="%computername%"
if %n%=="WKS001" goto 001
if %n%=="WKS002" goto 002
if %n%=="WKS006" goto 006
goto end
:001
copy j:\\001\账号列表.ini d:\j:\\001\OPPO脚本 /y
start J:\001\OPPO脚本\ADMIN.exe
goto end
:002
copy j:\\002\账号列表.ini d:\j:\\002\OPPO脚本 /y
start J:\002\OPPO脚本\ADMIN.exe
goto end
:006
copy j:\\006\账号列表.ini d:\j:\\006\OPPO脚本 /y
start J:\006\OPPO脚本\ADMIN.exe
goto end
:007
copy j:\\007\账号列表.ini d:\j:\\007\OPPO脚本 /y
start J:\007\OPPO脚本\ADMIN.exe
:end
pause
使用变量时需要用%%号括起来,例如%n%.因为变量赋值时加了引号,所以比较时也要加引号.根据你的批处理代码判断你的机器名为固定格式,如果是,可以直接截取机器名作为变量.代码如下:
@echo off
set "n=%computername%"
copy j:\\%n:~3%\账号列表.ini d:\j:\\%n:~3%\OPPO脚本 /y
start J:\%n:~3%\OPPO脚本\ADMIN.exe
pause
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询