![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 13:36 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,254 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 怎么把一个文本文件第三行赋给变量str? |
| 可打印版本 853 / 14 |
| 第1楼 wuhanbin | 发表于 2008-08-26 13:20 |
| 初级用户 发帖 86 积分 191 | |
|
怎么把一个文本文件第三行赋给变量str? RT
|
|
| 第2楼 HAT | 发表于 2008-08-26 13:27 |
| 版主 发帖 5,017 积分 9,023 | |
| 第3楼 wuhanbin | 发表于 2008-08-26 13:35 |
| 初级用户 发帖 86 积分 191 | |
|
我用了大哥的代码,怎么不能成功将%str% echo 到new.txt
|
|
| 第4楼 wuhanbin | 发表于 2008-08-26 13:37 |
| 初级用户 发帖 86 积分 191 | |
|
能不能用skip=2呢?
|
|
| 第5楼 HAT | 发表于 2008-08-26 13:46 |
| 版主 发帖 5,017 积分 9,023 | |
| 第6楼 wuhanbin | 发表于 2008-08-26 13:56 |
| 初级用户 发帖 86 积分 191 | |
|
HAT大哥 出怪问题了,其他TXT用你的代码都行,可是唯独下面一个TXT文本不行
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\KINGSOFT\ANTIVIRUS] "ProgramPath"="C:\\Program Files\\Kingsoft\\Kingsoft Internet Security 2008\\" |
|
| 第7楼 wuhanbin | 发表于 2008-08-26 13:58 |
| 初级用户 发帖 86 积分 191 | |
|
我是想把第三行提出出来给变量STR,然后用FOR命令,改成C:\Program Files\Kingsoft\Kingsoft Internet Security 2008\
|
|
| 第8楼 HAT | 发表于 2008-08-26 14:27 |
| 版主 发帖 5,017 积分 9,023 | |
|
Re 7楼 赋值给变量了,你先试试自己的思路来修改吧。
|
|
| 第9楼 HAT | 发表于 2008-08-26 14:29 |
| 版主 发帖 5,017 积分 9,023 | |
|
Re 6楼 对于unicode编码格式的文档,需要先type一下。
|
|
| 第10楼 bray | 发表于 2008-08-26 14:52 |
| 新手上路 发帖 7 积分 14 | |
Originally posted by HAT at 2008-8-26 02:29 PM: |
|
| 第11楼 wuhanbin | 发表于 2008-08-26 15:17 |
| 初级用户 发帖 86 积分 191 | |
|
貌似!str!用在enabledelayedexpansion开启延时的情况下,而%str%用在没有开启的情况下
|
|
| 第12楼 wuhanbin | 发表于 2008-08-26 15:19 |
| 初级用户 发帖 86 积分 191 | |
|
对于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 |
|
| 第13楼 HAT | 发表于 2008-08-26 15:24 |
| 版主 发帖 5,017 积分 9,023 | |
|
Re 10楼 |
|
| 第14楼 HAT | 发表于 2008-08-26 15:29 |
| 版主 发帖 5,017 积分 9,023 | |
|
Re 12楼 |
|
| 第15楼 wuhanbin | 发表于 2008-08-26 15:34 |
| 初级用户 发帖 86 积分 191 | |
|
谢谢,原来是换了种思路,以=为分隔符,取等号后一段文字,然后把\\替换成\,把“替换成空,就去掉了引号。HAT好强!
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |