找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24181|回复: 6

[文本处理] [已解决]批处理如何生成不是CRLF而是只以LF(换行符)结尾的文件?

[复制链接]
发表于 2012-11-20 02:29:45 | 显示全部楼层 |阅读模式
本帖最后由 iiiiiiiiii 于 2012-11-20 22:46 编辑

例如我需要批处理生成一个内容如下的文件(16进制模式):
  1. 00000000h:23 21 41 0A
复制代码
其中0A就是LF(换行符),23 21 41对应为#!A。

我目前就知道的代码是
  1. echo #!A>1.txt
复制代码
生成的文件结果(16进制模式):
  1. 00000000h:23 21 41 0D 0A
复制代码
如何才能让生成的文件中不包含0D(回车符)呢?在不使用第三方命令行程序的情况下。
初来乍到,请多指教!

评分

参与人数 1PB +2 收起 理由
tmplinshi + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2012-11-20 02:55:11 | 显示全部楼层
本帖最后由 tmplinshi 于 2012-11-20 03:11 编辑
  1. @echo off

  2. :: -------------------------------------
  3. <nul >1.txt set /p =#!A^


  4. :: -------------------------------------

  5. pause
复制代码
在论坛中搜索 换行符,可以找到很多讨论这个的帖子.
 楼主| 发表于 2012-11-20 22:33:51 | 显示全部楼层
多谢指点,可是放到for语句中应该如何变化呢?
  1.     @echo off
  2.     setlocal enabledelayedexpansion
  3.     if exist namelist.txt del namelist.txt
  4.     for /f "delims=." %%n in ('dir *.jpg /a-d /b') do echo %%n >>namelist.txt
  5.     for /f %%p in (namelist.txt) do (
  6.     <nul >%%p.bmp set /p=#!A^
  7.     )
  8.     pause
复制代码
我这样会造成!丢失,生成的文件如下
  1. 00000000h:23 41 20 20 20 20
复制代码
如果删除set /p=#!A^后面的空格,则不会生成文件。
发表于 2012-11-20 22:38:05 | 显示全部楼层
回复 3# iiiiiiiiii
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. :: ------------------------
  4. set \n=^


  5. :: ------------------------

  6. if exist namelist.txt del namelist.txt
  7. for /f "delims=." %%n in ('dir *.jpg /a-d /b') do echo %%n >>namelist.txt
  8. for /f %%p in (namelist.txt) do (
  9.     <nul >%%p.bmp set /p=#^^!A!\n!
  10. )
  11. pause
复制代码
 楼主| 发表于 2012-11-20 22:44:54 | 显示全部楼层
OK了,谢谢!
学习中……
 楼主| 发表于 2012-11-20 23:03:55 | 显示全部楼层
我还有最后一个问题不太明白,为什么
  1. set \n=^
复制代码
后面一定要跟两个空行才能得到正常结果呢?
发表于 2012-11-20 23:18:53 | 显示全部楼层
回复 6# iiiiiiiiii


    我也不是很理解。跟转义有关。^ 是一个转义符。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 22:15 , Processed in 0.019816 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表