中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于判断文件名的批处理!急!!!在线等!!!
« [1] [2] »
作者:
标题: 关于判断文件名的批处理!急!!!在线等!!! 上一主题 | 下一主题
crysis
初级用户





积分 20
发帖 20
注册 2009-4-10
状态 离线
『楼 主』:  关于判断文件名的批处理!急!!!在线等!!!

1、我需要这样一个批处理:
读取指定目录里的文件名,然后判断如果有相应的文件名则goto到下一步,否则终止。

比如:
c:\下有 *****123.txt 文件,就需要判断是否存在一个文件名包含123的,如果有则继续,否则退出。


2、还有这样一个批处理:
在一个文本文档中包含路径,但需要变成运行批处理后,将这个路径设定为%systemroot%之类,如文本文档中有:


%123%\windows\system32\
就需要运行批处理后将这个文档中的%123%变成系统的系统根目录:c:\windows\system32\





希望大家帮忙,谢谢了!!!!

[ Last edited by crysis on 2009-4-11 at 06:57 ]

2009-4-11 06:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 2 楼』:  

dir /b c:\*.txt|findstr /ric:".*123\.txt"&&goto :ne




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-4-11 07:02
查看资料  发短消息 网志   编辑帖子  回复  引用回复
crysis
初级用户





积分 20
发帖 20
注册 2009-4-10
状态 离线
『第 3 楼』:  

谢谢你了,麻烦你第二个。

2009-4-11 07:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 4 楼』:  

http://baiy.cn/utils/fr/index.htm

查换替换 推荐FR
FR -R:"%123%" -t:"c:\" 123.txt




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-4-11 07:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
freeants001
中级用户




积分 330
发帖 244
注册 2006-4-14
来自 湖北
状态 离线
『第 5 楼』:  

if not exist c:\*123.txt goto:eof

2009-4-11 07:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 6 楼』:  


@echo off&setlocal ENABLEDELAYEDEXPANSION
for /r d:\dd %%a in (*.*) do (set name=%%~na&if not "!name:123=!"=="!name! goto :continu)
goto :eof
:continu
...
第一个问题是不是这样,

第二个不明白。。。



精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-4-11 07:10
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
crysis
初级用户





积分 20
发帖 20
注册 2009-4-10
状态 离线
『第 7 楼』:  

if not exist c:\*123*.txt goto:eof
这样的话就可以判断文件中部的文字了,谢谢!

2009-4-11 07:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
crysis
初级用户





积分 20
发帖 20
注册 2009-4-10
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by netbenton at 2009-4-11 07:10:
@echo off&setlocal ENABLEDELAYEDEXPANSION
for /r d:\dd %%a in (*.*) do (set name=%%~na&if not "!name:123=!"=="!name! goto :continu)
goto :eof
:continu
...
第 ...

这个真复杂!

2009-4-11 07:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
freeants001
中级用户




积分 330
发帖 244
注册 2006-4-14
来自 湖北
状态 离线
『第 9 楼』:  

能把第二个文本文档内容贴出来吗?

2009-4-11 07:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
freeants001
中级用户




积分 330
发帖 244
注册 2006-4-14
来自 湖北
状态 离线
『第 10 楼』:  

不能贴出来吗~~~
不知下面的命令是否符合你的要求
for /f "tokens=1* delims=\" %%i in (1.txt) do echo "c:\%%~j"


2009-4-11 07:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
crysis
初级用户





积分 20
发帖 20
注册 2009-4-10
状态 离线
『第 11 楼』:  

可以了,谢谢大家!

2009-4-11 07:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
crysis
初级用户





积分 20
发帖 20
注册 2009-4-10
状态 离线
『第 12 楼』:  

文本的全部内容:
[boot loader]
timeout=0
default=%123%\grldr.mbr
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
%123%\grldr.mbr="TEST"

就是想运行批处理后让 %123% 变成Windows所在的盘符比如:c:\ d:\等等

2009-4-11 07:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 13 楼』:  

set 123=c:\
for /f "delims=" %%a in (aa.txt) do call echo.%%a


呵呵,这个不行,变量不可以是数字开头,不好意思,发错了。

[ Last edited by netbenton on 2009-4-11 at 06:04 ]



精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-4-11 07:54
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
crysis
初级用户





积分 20
发帖 20
注册 2009-4-10
状态 离线
『第 14 楼』:  

盘符也需要变量,如果系统在D盘,则自动判断为D盘

2009-4-11 07:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 15 楼』:  


@echo off
set 123=%systemroot%
for /f "delims=" %%a in (b.txt) do set a=%%a& call :sub
Pause
goto :eof
:sub
setlocal ENABLEDELAYEDEXPANSION
set a=!a:%%=###!
endlocal&set a=%a%
set a=%a:###=!%
setlocal ENABLEDELAYEDEXPANSION
echo.%a%
endlocal
goto :eof
这次可以了



精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-4-11 08:19
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: