中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-14 19:02
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]如何提取文本的某些特定字符作为变量?[以解决]
楼 主 [求助]如何提取文本的某些特定字符作为变量?[以解决] 发表于 2006-11-27 04:46 ·  中国 湖北 鄂州 电信
初级用户
积分 25
发帖 8
注册 2006-11-27 03:22
UID 71845
性别 男
状态 离线
文本1.txt如下:
# - Lean window skinner
plugins\bbLeanSkin\bbLeanSkin.dll
! plugins\SystemBarEx\SystemBarEx.dll
! plugins\bbIconBox\bbIconBox.dll
plugins\bbinterface\BBInterface.dll
! plugins\bbicons21a\BBicons.dll
! plugins\bbsysmonplus011b\BBSysmonPlus.dll
! plugins\bbmemshrink\bbMemShrink.dll
! plugins\BroamTimer\BroamTimer.dll
! plugins\bbLeanBar\bbLeanBar.dll
plugins\bbKeys\bbKeys.dll
! plugins\bbmemo\BBMemo.dll
! plugins\bbstyle\BBStyle.dll
! plugins\bbmemlimiter\bbMemLimiter.dll
! plugins\bbpager\BBPager.dll
plugins\bbmemlimiter\bbMemLimiter-5000K.dll
! plugins\bbmagnify\bbmagnify.dll
! plugins\bbrss10b1\bbrss.dll

我的要求是只提取上面没有“!”开头的plugins\*\(并且不要后面的*.dll)做为变量来新建一些目录,如上面 的第2行没有“!”,那么就在plugins目录下建立一个名为bbLeanSkin的子目录,其他类似,有“!”和“#”开头的都不管了

呵呵,本人是菜菜,有路过的DX麻烦指导一下,先谢谢了!

[ Last edited by pkone on 2006-11-27 at 09:42 PM ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
9527 +3 2006-11-28 00:03
2 发表于 2006-11-27 05:43 ·  中国 北京 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线

@echo off
for /f "tokens=1,2 delims=\" %%a in ('findstr /v "! #" 1.txt') do md "%%a\%%b" 2>nul>nul
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
9527 +3 2006-11-28 00:03
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
3 发表于 2006-11-27 05:49 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
UID 51697
来自 成都
状态 离线
Re pkone:

  观察你的文本内容,不是以p开头的路径不是你需要的,换而言之,你只需要以p开头的路径,则可以换一种思路来求解:

@echo off
:: 请把这段代码放在plugins下运行
setlocal enabledelayedexpansion
for /f "delims=" %%i in (1.txt) do (
set var=%%i
if /i "!var:~0,1!"=="p" md "%%~pi"
)


  发完之后才发现redtek已经帖了一个更简洁的代码出来,赞一个先。

[ Last edited by namejm on 2006-11-26 at 04:58 PM ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
9527 +3 2006-11-28 00:04
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
4 发表于 2006-11-27 05:53 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
UID 63486
来自 河北廊坊
状态 离线
赞!偶看很乱的,眼疼。
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
5 发表于 2006-11-27 08:33 ·  中国 北京 平谷区 联通
银牌会员
★★★
努力做坏人
积分 1,185
发帖 438
注册 2006-08-28 12:00
UID 61449
来自 北京
状态 离线
for /f "eol=! delims=" %a in (1.txt) do for /f "eol=# delims=\ tokens=1,2" %x in ('echo/%a') do md "%x\%y"


只求一题多解....
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
lxmxn +3 2006-11-27 09:12
redtek +3 2006-11-27 10:10
我今后在论坛的目标就是做个超级坏人!!!
6 发表于 2006-11-27 09:13 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线

  兄的代码非常巧妙啊~加分~
7 发表于 2006-11-27 10:20 ·  中国 北京 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线
太巧妙啦~~~~欣赏~~~
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
8 发表于 2006-11-27 10:26 ·  中国 湖北 鄂州 电信
初级用户
积分 25
发帖 8
注册 2006-11-27 03:22
UID 71845
性别 男
状态 离线
谢谢各位的回复,哈哈,偶新来滴,这里的高手都很热心啊,温暖!
9 发表于 2006-11-27 12:48 ·  中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
UID 50550
状态 离线
@echo off
for /f %%i in (1.txt) do md %%i && rd %%i
exit /b 0
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
lxmxn +3 2006-11-27 13:23
9527 +3 2006-11-28 00:04
10 发表于 2006-11-27 13:04 ·  中国 浙江 宁波 鹏博士宽带
荣誉版主
★★★
积分 1,338
发帖 356
注册 2005-07-15 12:09
UID 40733
性别 男
状态 离线
3742668 兄的代码太巧妙了,赞一个!
受此启发,我也来一个。

for /f %%i in (1.txt) do @md %%~dpi 2>nul
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
redtek +3 2006-11-27 21:53
ccwan +4 2006-11-28 02:08
  ☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul

11 发表于 2006-11-27 13:32 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线

  两位版主的代码都非常巧妙啊~赞一个先~

  不过 无奈何 版主的代码中,%%~dpi 应该加上双引号比较妥当,刚才测试了。

p.s.由于今天评分达到了30分,系统不让我给 无奈何 兄加分,所以改天在来补上 :)
12 发表于 2006-11-27 21:49 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
UID 63486
来自 河北廊坊
状态 离线
系统不让我给 无奈何 兄加分,回头补上。
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
13 发表于 2006-11-27 21:54 ·  中国 北京 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线
我的分儿也加光了,哈哈……
这回大开眼界啦~~~:)
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
14 发表于 2006-11-28 00:05 ·  中国 北京 联通
银牌会员
★★★
努力做坏人
积分 1,185
发帖 438
注册 2006-08-28 12:00
UID 61449
来自 北京
状态 离线
我给你们一人都加了三分,不过到无奈何那里我没有分了,失败,第一次给别人评分,LZ的我也给评上了,第一次用,没用好
我今后在论坛的目标就是做个超级坏人!!!
15 发表于 2006-11-28 02:36 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
UID 51697
来自 成都
状态 离线
  呵呵,3742668 兄的思路很独特,灌水~~~
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
论坛跳转: