|
wuhanbin
初级用户
 
积分 191
发帖 86
注册 2008-8-18
状态 离线
|
『楼 主』:
怎么把一个文本文件第三行赋给变量str?
RT
|
|
2008-8-26 13:20 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
2 楼』:
@echo off
setlocal enabledelayedexpansion
set row=0
for /f "tokens=*" %%a in (a.txt) do (
set /a row+=1
if !row! equ 3 (
set str=%%a
echo !str!
goto :eof
)
)
|

 |
|
2008-8-26 13:27 |
|
|
wuhanbin
初级用户
 
积分 191
发帖 86
注册 2008-8-18
状态 离线
|
『第
3 楼』:
我用了大哥的代码,怎么不能成功将%str% echo 到new.txt
|
|
2008-8-26 13:35 |
|
|
wuhanbin
初级用户
 
积分 191
发帖 86
注册 2008-8-18
状态 离线
|
|
2008-8-26 13:37 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
5 楼』:
@echo off
for /f "skip=2 tokens=*" %%a in (a.txt) do (
>"new.txt" echo %%a
goto :eof
)
|

 |
|
2008-8-26 13:46 |
|
|
wuhanbin
初级用户
 
积分 191
发帖 86
注册 2008-8-18
状态 离线
|
『第
6 楼』:
HAT大哥 出怪问题了,其他TXT用你的代码都行,可是唯独下面一个TXT文本不行
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\KINGSOFT\ANTIVIRUS]
"ProgramPath"="C:\\Program Files\\Kingsoft\\Kingsoft Internet Security 2008\\"
|
|
2008-8-26 13:56 |
|
|
wuhanbin
初级用户
 
积分 191
发帖 86
注册 2008-8-18
状态 离线
|
『第
7 楼』:
我是想把第三行提出出来给变量STR,然后用FOR命令,改成C:\Program Files\Kingsoft\Kingsoft Internet Security 2008\
|
|
2008-8-26 13:58 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
8 楼』:
Re 7楼
赋值给变量了,你先试试自己的思路来修改吧。
@echo off
for /f "skip=2 tokens=*" %%a in (a.txt) do (
set str=%%a
goto :show
)
goto :eof
:show
>"new.txt" echo %str%
|

 |
|
2008-8-26 14:27 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
9 楼』:
Re 6楼
对于unicode编码格式的文档,需要先type一下。
@echo off
for /f "skip=2 tokens=*" %%a in ('type "a.txt"') do (
set str=%%a
goto :show
)
goto :eof
:show
>"new.txt" echo %str%
|

 |
|
2008-8-26 14:29 |
|
|
bray
新手上路

积分 14
发帖 7
注册 2008-8-25
状态 离线
|
『第
10 楼』:
Quote: | Originally posted by HAT at 2008-8-26 02:29 PM:
对于unicode编码格式的文档,需要先type一下。
[code]@echo off
for /f "skip=2 tokens=*" %%a in ('type "a.txt"') do (
set str=%%a
goto :show
)
goto :eof
: ... |
|
echo !str!
和echo %str%有什么区别?
|
|
2008-8-26 14:52 |
|
|
wuhanbin
初级用户
 
积分 191
发帖 86
注册 2008-8-18
状态 离线
|
『第
11 楼』:
貌似!str!用在enabledelayedexpansion开启延时的情况下,而%str%用在没有开启的情况下
|
|
2008-8-26 15:17 |
|
|
wuhanbin
初级用户
 
积分 191
发帖 86
注册 2008-8-18
状态 离线
|
『第
12 楼』:
对于6楼的文本1.txt,我已经经过代码的修改提取到了C:\Program Files\Kingsoft\Kingsoft Internet Security 2008\ ,但是想问下HAT,下面的代码能否压缩下,比如两个for命令合并在一起?两条set str替换命令合并在一起?
@echo off
for /f "skip=2 tokens=*" %%a in ('type "1.txt"') do set str=%%a
set str=%str:\\=\%
set str=%str:"=-%
for /f "tokens=3 delims=-" %%a in ("%str%") do set str=%%a
echo %str%
pause
|
|
2008-8-26 15:19 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
|
2008-8-26 15:24 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
14 楼』:
Re 12楼
@echo off
for /f "skip=2 tokens=2 delims==" %%a in ('type "1.txt"') do set str=%%a
set str=%str:\\=\%
set str=%str:"=%
echo %str%
|

 |
|
2008-8-26 15:29 |
|
|
wuhanbin
初级用户
 
积分 191
发帖 86
注册 2008-8-18
状态 离线
|
『第
15 楼』:
谢谢,原来是换了种思路,以=为分隔符,取等号后一段文字,然后把\\替换成\,把“替换成空,就去掉了引号。HAT好强!
|
|
2008-8-26 15:34 |
|