第 16 楼
发表于 2007-05-18 14:13 · 中国 广东 广州 电信
高级用户
★★★
潜水修练批处理
积分 788 发帖 366 注册 2006-12-31 02:43 UID 75048 性别 男
状态 离线
这个可否??紧限于输出
type test.txt>output.txt
正在潜水修练的批处理小白
第 17 楼
发表于 2007-05-18 14:18 · 中国 浙江 杭州 华数宽带
银牌会员
★★★
积分 2,000 发帖 621 注册 2007-01-01 00:00 UID 75212 性别 男
状态 离线
?
namejm上面的帖子针对的是哪个帖子说的?
我觉得当引号个数为奇数是就会把 echo后所有的东西全部输出;
因此无法重定向;
我认为解决方法为给每个引号加转义;
对于偶数;觉得不会出错
第 18 楼
发表于 2007-05-18 14:23 · 中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226 发帖 1,737 注册 2006-03-10 00:38 UID 51697 来自 成都
状态 离线
呵呵,我使用的代码不是你的版本,说法出错了,我收回这个说法。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
第 19 楼
发表于 2007-05-18 14:27 · 中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226 发帖 1,737 注册 2006-03-10 00:38 UID 51697 来自 成都
状态 离线
不知不觉中,bjsh已经把所有的特殊字符的输出问题都解决完了,剩下的事情就是效率的提升和代码的精简/规范问题了。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
第 20 楼
发表于 2007-05-18 14:29 · 中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226 发帖 1,737 注册 2006-03-10 00:38 UID 51697 来自 成都
状态 离线
Originally posted by dikex at 2007-5-18 14:13:
这个可否??紧限于输出
type test.txt>output.txt
type方案仅限于整个文本的输出,而我想讨论的是对指定行内容里的所有特殊字符的原样输出,我的标题有点误导人了,这就改改。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
第 21 楼
发表于 2007-05-18 14:44 · 中国 浙江 杭州 华数宽带
银牌会员
★★★
积分 2,000 发帖 621 注册 2007-01-01 00:00 UID 75212 性别 男
状态 离线
重定向到文本中的代码
@echo off
if exist tmp.txt del tmp.txt
set var=
for /f "delims=" %%a in ('findstr /n .* test.txt') do (
set "var=%%a"
call set "var=%%var:"=%%"
call :change
)
goto :eof
:change
set "var=%var:^=^^%"
set "var=%var:>=^>%"
set "var=%var:<=^<%"
set "var=%var:&=^&%"
set "var=%var:|=^|%"
set "var=%var:*:=%"
if not defined var echo.>>tmp.txt & goto :eof
call set "var=%%var:="%%"
call echo.%%var%%>>tmp.txt
注释:
call set "var=%%var:"=%%"
中的:"=%%"里的"空格"不是空格是ctrl+BackSpace的特殊字符;
[
Last edited by bjsh on 2007-5-18 at 02:47 PM ]
第 22 楼
发表于 2007-05-22 21:00 · 中国 青海 西宁 电信
金牌会员
★★★★
积分 4,103 发帖 1,744 注册 2006-01-20 13:00 UID 49241 性别 男 来自 甘肃.临泽
状态 离线
我记得关于这个在无奈何签名的那个帖子中已经有一个很好的方案了吧!
第 23 楼
发表于 2007-05-23 15:56 · 中国 浙江 杭州 华数宽带
银牌会员
★★★
积分 2,000 发帖 621 注册 2007-01-01 00:00 UID 75212 性别 男
状态 离线
最新代码:
简练且效率高
@echo off
for /f "delims=" %%a in ('findstr /n .* test.txt') do (
set "var=%%a"
setlocal enabledelayedexpansion
set var=!var:*:=!
echo.!var!
endlocal
)
有兴趣的帮忙测试
本帖最近评分记录
(共 2 条)
点击查看详情
评分人 分数 时间
vkill
+6
2007-05-24 13:50
cutebe
+1
2009-10-17 13:38
第 24 楼
发表于 2007-05-23 22:41 · 中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226 发帖 1,737 注册 2006-03-10 00:38 UID 51697 来自 成都
状态 离线
这可能是最简洁高效的代码了,变量延迟大有文章可作啊。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
第 25 楼
发表于 2007-05-23 22:56 · 中国 浙江 杭州 华数宽带
银牌会员
★★★
积分 2,000 发帖 621 注册 2007-01-01 00:00 UID 75212 性别 男
状态 离线
简析环境变量和变量延迟特殊字符以及中介法的微妙关系
是写上面代码的后感..
[ Last edited by bjsh on 2007-11-14 at 12:11 AM ]
第 26 楼
发表于 2007-10-05 05:00 · 中国 广东 广州 天河区 电信
初级用户
★
积分 82 发帖 15 注册 2007-05-26 20:14 UID 89403 性别 男
状态 离线
不知道效果怎么样..
@echo off
for /f "eol= delims=" %%i in (a.txt) do (
set type=%%i
for /l %%j in (0,1,100) do (
setlocal EnableDelayedExpansion
if "!type:~%%j,1!"==" " (set/p= <nul)
if "!type:~%%j,1!"=="=" (set/p= <nul&set/p==<nul) else (
call set/p="%%type:~%%j,1%%"<nul)
endlocal)
echo.
)
pause>nul
第 27 楼
发表于 2008-04-25 05:23 · 中国 广东 深圳 罗湖区 电信
初级用户
★
积分 27 发帖 11 注册 2006-03-16 07:21 UID 52148
状态 离线
第 28 楼
发表于 2008-06-22 00:27 · 中国 广东 清远 电信
高级用户
★★★
CMD感染者
积分 691 发帖 383 注册 2008-05-23 00:38 UID 119451 性别 男
状态 离线
受益非浅!
但还有一问题:怎样用P修改含特殊符号的文本,如:
将test.txt
ip 125.219.59.216
sv_contact "568ggstart@163.Com "
// 服务器构建者的联系邮箱
sv_send_resources 1
// 自动向客户端传送地图关联的 *.res文件里包括的资源文件
sv_maxrate 25000
// 服务器最大传输速率 <0-25000>
改为:
ip 59.32.211.105
sv_contact "568ggstart@163.Com "
// 服务器构建者的联系邮箱
sv_send_resources 1
// 自动向客户端传送地图关联的 *.res文件里包括的资源文件
sv_maxrate 25000
// 服务器最大传输速率 <0-25000>
第 29 楼
发表于 2008-09-16 20:57 · 中国 广东 广州 联通
初级用户
★
积分 22 发帖 10 注册 2008-09-15 03:00 UID 125673 性别 女
状态 离线
太高深了,光看不顶说不过去,顶一下又恐说我外行凑热闹。还是顶了吧
第 30 楼
发表于 2008-10-19 17:25 · 中国 江西 赣州 电信
新手上路
★
积分 13 发帖 15 注册 2008-10-19 15:37 UID 128763 性别 男
状态 离线
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正