[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 【已解决】请问批处理命令set为何不能赋除ilkjnm以外的字母赋值?或超过6个变量?

本帖最后由 wd4455 于 2018-12-8 22:00 编辑

请问为何我这个脚本为何不能赋予以除外%I-%J-%K-%L-%M-%N以外的值?
::for /f "tokens=1-6" %%i in ('more /e +10 %0 ^|find /i "%a%"') do set name=%%i&& set desc=%%j&& set IP=%%k&& set MASK=%%l&& set GATEWAY=%%m&& set MACs=%%n
for /f "tokens=1-6" %%i in ('more /e +10 %0 ^|find /i "%a%"') do set name=%%1&& set desc=%%2&& set IP=%%3&& set MASK=%%4&& set GATEWAY=%%5&& set MACs=%%6
for /f "tokens=1-6" %%i in ('more /e +10 %0 ^|find /i "%a%"') do set name=%%b&& set desc=%%c&& set IP=%%d&& set MASK=%%e&& set GATEWAY=%%f&& set MACs=%%h
除了第一行都不能正常赋值。赋值会变成 第2行赋值结果是name=%1 ,第三行赋值结果是 name=%b   这种请问是什么情况?如何解决?

本帖最后由 wd4455 于 2018-12-8 14:17 编辑

谢谢两位。。但是我的问题是。。我不能赋予i至n以外的字母变量总共只有6个,我看变量说明是a-y都可以赋予变量,我的这个例子有什么问题么?
for /f "tokens=1-8" %%i in ('more /e +10 %0 ^|find /i "%a%"') do set name=%%i&& set desc=%%j&& set IP=%%k&& set MASK=%%l&& set GATEWAY=%%m&& set MACs=%%n&& set dns1=%%x&& set dns2=%%y
最后的变量取值会变成 dns1=%x    dns2=%y
另外。。为何我不能从b开始赋值?

TOP

本帖最后由 wd4455 于 2018-12-8 21:27 编辑

回复 7# Batcher


请问变量或者输出的文本使用中文会出现小概率的问题么?
例如:赋予变量%%子网掩码
       set  默认网关=
        wmic nic >%temp%\网络信息.txt
是否只要在脚本头部增加chcp 936就没问题了?

另外wmic是否是内部命令?(无需另外安装的命令)

TOP

返回列表