![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 21:59 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]批处理怎么能让字符串中包含回车符 |
| 可打印版本 2,421 / 5 |
| 第1楼 singlion | 发表于 2008-12-06 20:43 |
| 初级用户 发帖 12 积分 25 | |
|
[求助]批处理怎么能让字符串中包含回车符 我想用批处理弄一个文本文件分割程序,功能是实现了,代码如下:
@echo off cls & color 79 setlocal enabledelayedexpansion :inputfilename set /p txtfile=请输入要分割的文件位置及文件名: if not defined txtfile goto :inputfilename set /p lines=请输入每多少行分割为一个文件(请输入50到300之间的数): if not defined lines set /a lines=100 cls set /a line=0 set /a files=1 set filename=第!files!部分.txt mode con lines=2 echo 正在写第1个文件... set str= for /f "delims=" %%i in (%txtfile%) do ( set /a line+=1 set str=!str!%%i if "!line!"=="!lines!" ( echo !str!>!filename! cls set /a line=0 set /a files+=1 set filename=第!files!部分.txt echo 正在写第!files!个文件... set str= ) ) echo !str!>!filename! cls echo 完成。按任意键退出程序... pause>nul del c:\tmp 但是留下一个问题,分割后的文件中,所有的回车符都显示成了黑块,但仅仅在记事本里这样,在写字板和Word里面都能正常显示。 并且用写字板打开之后,不做任何改动,直接保存,然后用记事本打开又正常了...... 我觉得可能是因为set str=!str!%%i造成的,可能在%%i前面加一个能表示回车符的东西就行了,希望高手看看能不能这样做。 如果有其他实现的方法,也请不吝赐教,谢谢! 转移自 DOS疑难解答 & 问题讨论 (解答室) 明显发错版块,因属论坛新手,暂不予以处罚,但注册也有一年多了,应该对论坛有所熟悉了,望今后引起注意。 ——管理员 |
|
| 第2楼 HAT | 发表于 2008-12-06 21:02 |
| 版主 发帖 5,017 积分 9,023 | |
|
建议下次到批处理室提问
|
|
| 第3楼 hackate | 发表于 2008-12-07 13:29 |
| 中级用户 发帖 125 积分 228 | |
| 第4楼 lifenjoiner | 发表于 2008-12-07 14:59 |
| 新手上路 发帖 12 积分 19 | |
|
我的:
鉴于这确实是频繁操作(写)一个磁盘文件,就是慢~ ------ 另外,建议singlion代码要写得规整一些,养成好的习惯。还有,你可以用vbs。。 ------ [ Last edited by lifenjoiner on 2008-12-7 at 15:08 ] |
|
| 第5楼 lifenjoiner | 发表于 2008-12-07 15:21 |
| 新手上路 发帖 12 积分 19 | |
|
我以前的vbs
|
|
| 第6楼 HAT | 发表于 2008-12-09 14:33 |
| 版主 发帖 5,017 积分 9,023 | |
|
1年半之前的帖子,不知是否对楼主有帮助:
http://www.cn-dos.net/forum/viewthread.php?tid=31718 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |