bat脚本定义变量
㈠ bat命令定义变量
set var=1,等号两边的空格去掉,不然cmd会把var+空格当成一个变量名,空格+1当成变量值
㈡ bat如何设置环境变量
在bat中设置的变量,是局部变量,只在这个bat中有用,只在所在的cmd窗口中有用,在其他的cmd中可以调用系统变量,而不能调用其他cmd(bat)窗口的局部变量,即便那个cmd窗口还没有关闭。
如果想在bat里设置变量,并添加到系统变量中,可以修改注册表,方便的话可通过第三方程序,如 setx.exe
setx 的一点信息:
这个命令行工具提供了一种批量修改环境变量的方法,同时不需要使用任何编程方法或者是脚本。此外,除了可以获得变量和值之外还可以跟注册表的值挂上关系。在2000中除了setx.exe之外,其他没有任何一种命令行工具可以直接设置系统变量值。只有通过控制面板和注册表编辑器才能够设置。如果有人说可以用set命令的话, 实际上这个CMD的内部命令只能够设置当前控制台窗口的用户环境变量。 setx允许你通过Command Line Mode,Registry Mode,File Mode,这三种模式来设置环境变量。
㈢ 如何在bat文件中定义变量和调用
批处理没法像VBS那样实现弹出代窗口接受数据,只能用如下的方式:
::═════代═══码═══开═══始═════
@echo off
set/p t=请输入时间并回车:(格式为 XX:XX:XX)
at %t% shutdown -s -t 0
pause
::═════代═══码═══结═══束═════
㈣ bat中如何定义变量
@echo off
set "s="
set /a t=%random%%%62
call md %%s:~%t%,1%%
㈤ bat 创建变量
set %你的变量名%="路径"
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
" /v Java_Home /t reg_sz /d %你的变量名% /f >nul
㈥ bat脚本如何将命令执行的结果赋值给变量
这个问题也曾困扰我很久,后来发现只有两条路可走
一是通过临时文件做中转, 用这种方式赋值 set /p 变量=<临时文件
还有一种方式就是通过强大的for 命令,在 do 语句中来 set
㈦ bat 变量的作用域有问题 请高手指点一下谢谢
那就生成一个临时文件,记录路径变量,然后再通过set/p读取
MakeOutputDir.bat中加上一句输出路径内容的命令
1>$.Dir echo !BuildPath!
BuildConfig.bat中加上一句读取临时文件内容的命令
1set /p BuildPath=<$.Dir
㈧ 在.bat脚本中如何将一个命令的返回结果传给一个变量
1、首先用记事本新建一个文件夹。
注意事项:
批处理文件的扩展名为bat 或cmd。目前比较常见的批处理包含两类:DOS批处理和PS批处理。应用于DOS和Windows系统中。
㈨ 关于bat里引用变量的问题
这与批处理的预处理机制有关。
批处理会把if后面的所有语句进行预处理,全都读入内存,然都进行变量的扩展:将%n%与%m%进行扩展,也就是进行替换;但是,在if语句之前%n%,%m%都没有进行定义,所以%n%,%m%就被认没有定义变量,就会出错。
但是你会说,我在if后进行了定义,你没有开启延迟变量,批处理就不能识别到你在if语句中进行的变量定义,所以你应该开启延迟变量:
@echooff
set/pc=请输入数字:
if%c%==1(
set/pn=请输入wifi名称:
netshwlansethostednetworkssid=!n!
set/pm=请输入wifi密码:
netshwlansethostednetworkkey=!m!
echo设置完成
pause
)
㈩ bat脚本怎么将命令执行的结果赋值给变量
[解决办法]
for /f "tokens=*" %i in ('ipconfig /all^|find /i "ipv4" ') do set yourvar=%i
[解决办法]
for /f "tokens=2 delims=:(" %i in ('ipconfig /all^|find /i "ipv4" ') do set yourvar=%i
[解决办法]
for /f "delims=" %i in ( 'ipconfig /all ^| find /i "ipv4" ') do set yourvar=%i