中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: 帮忙删除一下我重新发 上一主题 | 下一主题
yhshiro
初级用户





积分 130
发帖 59
注册 2007-12-25
状态 离线
『楼 主』:  帮忙删除一下我重新发

帮忙删除一下我重新发

[ Last edited by yhshiro on 2008-4-24 at 06:09 PM ]

2008-4-24 14:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 2 楼』:  把第二行的user.txt替换成你的TXT文件

@echo off&setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('findstr /n .* user.txt') do (
    set str=%%a
    set str=!str:*:=!
    set /a n+=1
    if !n! equ 3 (
       set /a num=%random%%%11+1
       set str=!str:~0,-1!!num!
)
   echo.!str!
)
pause>nul

[ Last edited by pusofalse on 2008-4-24 at 03:25 PM ]

2008-4-24 15:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
terrytong
中级用户





积分 240
发帖 115
注册 2008-3-10
状态 离线
『第 3 楼』:  

pause>nul
是什么意思啊大哥。

2008-4-24 15:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 4 楼』:  

你把>nul去掉……

那个会显示一行字,用>nul去掉显示

2008-4-24 15:39
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by terrytong at 2008-4-24 03:36 PM:
pause>nul
是什么意思啊大哥。

把命令结果输出到空设备,但却实实在在的执行过,只不过屏蔽了而已...
我是这样理解的...
2>nul 表示屏蔽错误信息
例如 net user 123   123是你系统中没有的用户
net user 123>nul 还是会显示命令结果,那是因为包含错误流的缘故,
net user 123 2>nul 连错误信息都给屏蔽了 不知这样说对不对~
貌似还有个 3>nul 不知什么意思,达人指教!

2008-4-24 15:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yhshiro
初级用户





积分 130
发帖 59
注册 2007-12-25
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by pusofalse at 2008-4-24 03:22 PM:
@echo off&setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('findstr /n .* user.txt') do (
    set str=%%a
    set str=!str:*:=!
    set /a n+=1
    if !n! equ 3 (
      ...

改不了呀~在CMD里显示是改了,但是文件里面还是没变化!

还有能解释一下,这命令里面那个是指定行的,还有修改我指定字符的是哪句。。

2008-4-24 15:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by yhshiro at 2008-4-24 03:44 PM:

@echo off&setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('findstr /n .* user.txt') do (
    set str=%%a
    set str=!str:*:=!
    set /a n+=1
    if !n! equ 3 (
       set /a num=%random%%%11+1
       set str=!str:~0,-1!!num!
)
   echo.!str!
)
pause>nul


改不了呀~在CMD里显示是改了,但是文件里面还是没变化!

还有能解释一下,这命令里面那个是指定行的,还有修改我指定字符的是哪句。。

[quote]Originally posted by yhshiro at 2008-4-24 03:44 PM:

@echo off&setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('findstr /n .* user.txt') do (
    set str=%%a
    set str=!str:*:=!
    set /a n+=1
    if !n! equ 3 (
       set /a num=%random%%%11+1
       set str=!str:~0,-1!!num!
)
   echo.!str!
)>>1.txt
pause>nul

结果保存在1.txt中。。。

if !n! equ 3 (
       set /a num=%random%%%11+1
       set str=!str:~0,-1!!num!
)
读到第3行的时候开始替换,(包含空白行)

2008-4-24 15:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yhshiro
初级用户





积分 130
发帖 59
注册 2007-12-25
状态 离线
『第 8 楼』:  

能不能搞成写入的啊~

怎么我把名字改成user.txt的 他只加在后面。。。

2008-4-24 16:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 9 楼』:  

不明白你说的什么意思。

2008-4-24 16:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yhshiro
初级用户





积分 130
发帖 59
注册 2007-12-25
状态 离线
『第 10 楼』:  

为什么我用在数字后面还有字符的行里,连最后一个字也被替换成数字了

[标题][颜色=9] 公告

用了以后
[标题][颜色=9] 公11

为什么前面的不变!后面的字变了

[ Last edited by yhshiro on 2008-4-24 at 04:17 PM ]

2008-4-24 16:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 11 楼』:  



  Quote:
Originally posted by yhshiro at 2008-4-24 04:15 PM:
为什么我用在数字后面还有字符的行里,连最后一个字也被替换成数字了

[标题][颜色=9] 公告

用了以后
[标题][颜色=9] 公11

原文件中只有一个数字,并且确定数字在什么地方的吗?

2008-4-24 16:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yhshiro
初级用户





积分 130
发帖 59
注册 2007-12-25
状态 离线
『第 12 楼』:  

[标题][颜色=9] 公告

就改上面这个9。。。

2008-4-24 16:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 13 楼』:  

麻烦一次问清楚,我也觉得要求一变再变有点麻烦。。。
把源文件中的全部内容贴上来,要不不会。。。写的代码又没有通用性

2008-4-24 16:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 14 楼』:  

@echo off&setlocal enabledelayedexpansion
set /P str1=输入替换前字符:
SET /P STR2=输入替换后字符:
for /f "delims=" %%i in (test.txt) do (
    set str=%%i
    set str=!str:%str1%=%str2%!
echo !str!>>test1.txt
)
pause
因特殊字符问题 不要输入=  替换前字符可输入:  9] 公  告 替换后字符:可输入:  11] 公  告

[ Last edited by terse on 2008-4-24 at 04:44 PM ]



简单!简单!再简单!
2008-4-24 16:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yhshiro
初级用户





积分 130
发帖 59
注册 2007-12-25
状态 离线
『第 15 楼』:  



  Quote:
[标题][颜色=9] 公  告
下面的随时要改的。。。
XXXX
XXXX
  XXXXX

要改的就是
[标题][颜色=9] 公  告
或者
[标题][颜色=9] 广  告

前面的
[标题][颜色=9]

都是不变的,只是改一下数字!~

2008-4-24 16:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: