中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 00:09
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]set替换问题不理解
可打印版本  725 / 1
第1楼 8657 发表于 2008-12-20 13:14
初级用户 发帖 17 积分 20
[求助]set替换问题不理解
@echo off & setlocal enabledelayedexpansion
:begin
for /f "delims=" %%a in (d:\test.txt) do (
set var=%%a
for /l %%b in (0 1 1000) do (
if "!var:~%%b,1!"=="" (
set length=%%b
里面的
set var=%%a 什么意思?为什么要替换 直接用 %%a变量不可以么?
var:~%%b,1 是不时 %%a替换为%%b的 1位
第2楼 HAT 发表于 2008-12-20 20:05
版主 发帖 5,017 积分 9,023
//set var=%%a 什么意思?

把变量%%a的内容赋值给变量var

//为什么要替换

是为了后面的变量截取

//直接用 %%a变量不可以么?

不行,因为%%a不支持这样直接变量截取

//var:~%%b,1 是不时 %%a替换为%%b的 1位

不是,从%%b位开始对变量var(也就是%%a)的内容截取1位

总结:
你的问题,在批处理基础教程中都能找到答案。建议多看教程,少提问。
批处理室教程收集专用帖
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023