中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求一个对参数字符串处理的脚本
作者:
标题: 求一个对参数字符串处理的脚本 上一主题 | 下一主题
po123321
新手上路





积分 9
发帖 5
注册 2010-7-14
状态 离线
『楼 主』:  求一个对参数字符串处理的脚本

a.bat要求如下:
1.定义0-9代表硬盘中的10个指定文件
2.使用a.bat 0123 取参数中指定的文件放到同一个目录(0123是一个参数,脚本里需要拆分)
3.脚本要判断参数只能是包含0-9的字符串,如果有其他字符则返回错误
4.要对参数排重,例如a.bat 1122 那只取1和2代表的文件


在此感谢了!!

2010-11-21 02:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wewebb
初级用户





积分 66
发帖 53
注册 2009-10-9
状态 离线
『第 2 楼』:  


@echo off
:: 假设批处理所在目录 有9个文件 0.txt 1.txt ...... 9.txt
:: 按参数移动到 D:\DATA 目录

CD /D "%~DP0"

if "%1" == ""  Echo 没有参数!脚本退出!&pause >NUL &exit
echo %1| findstr "[^0-9]" && (
Echo 参数错误!不应该有数字以外的字符。
pause >nul & exit
)

set "arg=%1"
:CMP
set "num=%arg:~0,1%"
move "%num%.txt" D:\DATA 2>nul && echo 移动 %num%.txt  到  D:\DATA

call set "arg=%%arg:%num%=%%"
If not "%arg%" == "" goto CMP
echo 任务完成!
pause > nul


2010-11-21 11:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
po123321
新手上路





积分 9
发帖 5
注册 2010-7-14
状态 离线
『第 3 楼』:  

验证了下,功能可以实现。。。强大。。谢谢

2010-11-21 14:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: