|
tireless
银牌会员
    
积分 2025
发帖 1122
注册 2007-9-5
状态 离线
|
『第
16 楼』:
Re 15楼
看不懂。又如何使用?
|
|
2008-9-9 22:09 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
17 楼』:
@echo off
setlocal enabledelayedexpansion
set count=0
set /p newname=请输入:
type nul>"test.bak"
for /f "tokens=1,2* delims=:" %%a in ('findstr /n .* "test.rc"') do (
>>"test.bak" echo.%%b
set /a count+=1
if !count! equ 4 goto :next
)
goto :eof
:next
>>"test.bak" echo 578, "%newname%"
for /f "skip=5 tokens=1,2* delims=:" %%a in ('findstr /n .* "test.rc"') do (
>>"test.bak" echo.%%b
)
move /y "test.bak" "test.rc"
|

 |
|
2008-9-9 22:25 |
|
|
tireless
银牌会员
    
积分 2025
发帖 1122
注册 2007-9-5
状态 离线
|
『第
18 楼』:
有个很奇怪的问题,如果直接回车,只有第一次修改有效,修改几次后,直接回车就不能修改了。用tskill explorer 重启explorer.exe后的第一次直接回车有效,然后直接回车无效。
[ Last edited by tireless on 2008-9-9 at 04:01 AM ]
|
|
2008-9-9 23:16 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
19 楼』:
@echo off
setlocal enabledelayedexpansion
set count=0
set newname=
:begin
set /p newname=请输入:
if "%newname%" equ "" (
echo 输入不能为空
goto :begin
)
type nul>"test.bak"
for /f "tokens=1,2* delims=:" %%a in ('findstr /n .* "test.rc"') do (
>>"test.bak" echo.%%b
set /a count+=1
if !count! equ 4 goto :next
)
goto :eof
:next
>>"test.bak" echo 578, "%newname%"
for /f "skip=5 tokens=1,2* delims=:" %%a in ('findstr /n .* "test.rc"') do (
>>"test.bak" echo.%%b
)
move /y "test.bak" "test.rc"
|

 |
|
2008-9-9 23:22 |
|
|
tireless
银牌会员
    
积分 2025
发帖 1122
注册 2007-9-5
状态 离线
|
『第
20 楼』:
不是的,输入其他的不会出错。
只是直接回车不总是有效(只有第一次修改直接回车能替换成空字符,之后就不能替换成空字符了。直到用 tskill explorer 重启explorer后的第一次又可以替换...)
替换成空的很有用,因为这样开始按钮就会消失:D,所以可否修复这个"BUG"?
[ Last edited by tireless on 2008-9-9 at 04:00 AM ]
|
|
2008-9-9 23:36 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
21 楼』:
经测试,17楼的代码不管第几次回车,总是能够正确替换test.rc的内容。
至于你说的“之后就不能替换成空字符了”,能描述一下你是怎样测试的不?
|

 |
|
2008-9-9 23:43 |
|
|
tireless
银牌会员
    
积分 2025
发帖 1122
注册 2007-9-5
状态 离线
|
『第
22 楼』:
Quote: | Originally posted by HAT at 2008-9-9 03:43 AM:
经测试,17楼的代码不管第几次回车,总是能够正确替换test.rc的内容。
至于你说的“之后就不能替换成空字符了”,能描述一下你是怎样测试的不? |
|
对,没错。
但我是用来替换开始按钮后,就有问题,情况是:
第一次直接回车(替换开始按钮)
第二次随便输入(替换开始按钮)
然后用下面的批处理测试
@echo off
set /p newname=请输入:
echo %newname%
pause
出现的情况是,当我直接回车,%newname%就会变为上次的输入。真是诡异~
[ Last edited by tireless on 2008-9-9 at 04:24 AM ]
|
|
2008-9-10 00:08 |
|
|
tireless
银牌会员
    
积分 2025
发帖 1122
注册 2007-9-5
状态 离线
|
|
2008-9-10 00:14 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
|
2008-9-10 01:18 |
|
|
tireless
银牌会员
    
积分 2025
发帖 1122
注册 2007-9-5
状态 离线
|
|
2008-9-10 01:31 |
|