楼 主
[求助]set替换问题不理解
发表于 2008-12-20 13:14 · 中国 山东 滨州 联通
初级用户
★
积分 20 发帖 17 注册 2008-08-08 04:42 18年会员 UID 122948 性别 男
状态 离线
@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 楼
发表于 2008-12-20 20:05 · 中国 重庆 电信
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 19年会员 UID 89899 性别 男
状态 离线
//set var=%%a 什么意思?
把变量%%a的内容赋值给变量var
//为什么要替换
是为了后面的变量截取
//直接用 %%a变量不可以么?
不行,因为%%a不支持这样直接变量截取
//var:~%%b,1 是不时 %%a替换为%%b的 1位
不是,从%%b位开始对变量var(也就是%%a)的内容截取1位
总结:
你的问题,在批处理基础教程中都能找到答案。建议多看教程,少提问。
批处理室教程收集专用帖
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正