中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 07:12
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何在for循环中使用set截取字符串 查看 838 回复 1
楼 主 如何在for循环中使用set截取字符串 发表于 2010-06-10 11:29 ·  中国 河南 新乡 联通
新手上路
积分 2
发帖 2
注册 2009-05-20 04:40
17年会员
UID 145500
性别 女
状态 离线
我想把字符串'D:\条形码数据导入ERP\DATA\电器'中的'D:\条形码数据导入ERP\DATA'替换成空,执行下面的语句实现不了,请高手给予指教:

for /f "usebackq tokens=*" %%b in ('D:\条形码数据导入ERP\DATA\电器\rootdirc') do (
setlocal enabledelayedexpansion
set fdir=!%%b:D:\条形码数据导入ERP\DATA=!
echo !fdir!
)
2 发表于 2010-06-10 23:16 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
字符串是“D:\条形码数据导入ERP\DATA\电器\rootdirc”还是“D:\条形码数据导入ERP\DATA\电器”啊?
如果是“D:\条形码数据导入ERP\DATA\电器”,则“
@echo off
for %%a in ("D:\条形码数据导入ERP\DATA\电器") do set fdir=\%%~na
echo.%fdir%&pause

按你的批处理目的,应该这样写:
@echo off&setlocal enabledelayedexpansion
for %%a in ("D:\条形码数据导入ERP\DATA\电 器\rootdirc") do (
set "fdir=%%~a"
set fdir=!fdir:D:\条形码数据导入ERP\DATA=!
echo.!fdir!
)
pause


[ Last edited by Hanyeguxing on 2010-6-10 at 23:23 ]
论坛跳转: