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

[文本处理] 求助批处理TXT文件首位添加固定字符如何去除换行符?

[复制链接]
发表于 2023-9-19 14:39:39 | 显示全部楼层 |阅读模式
需要批量给txt文件开头添加字符##,
但是怎么改都会有换行,请高手帮忙解决,谢谢!~

需要:
你好,世界
得到:
##你好,世界

目前得到的是如下,多一个换行,
##
你好,世界
  1. @echo off
  2. for /f "delims=" %%i in ('dir /a-d /b /s *.txt') do (
  3. echo %%i
  4. (echo ##
  5. type "%%i" )>tem.yky
  6. move tem.yky "%%i")
复制代码
发表于 2023-9-19 14:51:16 | 显示全部楼层
回复 1# zhuyihzx


    只在第一行开头添加吗?还是每一行开头都添加?
 楼主| 发表于 2023-9-19 14:52:08 | 显示全部楼层
回复 2# Batcher
就是开头的第一行就行了,谢谢
发表于 2023-9-19 15:10:02 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2023-9-19 15:22 编辑

请在与批处理同目录处新建一个文本文件00.txt,其内容为##,只一行不要回车。
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /s /a-d *.txt') do (
  3.     copy /b "00.txt"+"%%i" "temp"
  4.     move "temp" "%%i"
  5. )
复制代码
 楼主| 发表于 2023-9-19 15:19:28 | 显示全部楼层
请在与批处理同目录处新建一个文本文件00.txt,其内容为##,只一行不要回车。
qixiaobin0715 发表于 2023-9-19 15:10


好像不行,显示如下信息,

copy /b "00.txt+E:\123\
move "temp" "E:\123\
文件名、目录名或卷标语法不正确。
已复制         0 个文件。
系统找不到指定的文件。
发表于 2023-9-19 15:23:14 | 显示全部楼层
回复 5# zhuyihzx
已修改
 楼主| 发表于 2023-9-19 15:29:39 | 显示全部楼层
回复 6# qixiaobin0715


可以增加了,但是有个小问题,
运行后先在00.txt上增加了##,然后后续的##都变成####了,
有没有办法不用外接00.txt,直接在BAT中加上##呢?
感谢大佬的帮忙
发表于 2023-9-19 15:38:16 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2023-9-19 15:40 编辑

将文本文件00.txt修改为00.log,代码中的00.txt也修改为00.log,再试试。
直接使用代码加效率不如这样好。
 楼主| 发表于 2023-9-19 15:40:53 | 显示全部楼层
回复 8# qixiaobin0715
    感谢大佬,可以用了,
发表于 2023-9-19 15:44:34 | 显示全部楼层
不知行否

  1. @echo off
  2. for /f "delims=" %%i in ('dir /a-d /b /s *.txt') do (
  3. echo %%i
  4. set/p=##>tem.yky <nul
  5. type "%%i" >>tem.yky
  6. move tem.yky "%%i"
  7. )
复制代码
发表于 2023-9-19 15:50:04 | 显示全部楼层
回复 7# zhuyihzx


不需要事先准备外部文件的方法
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "delims=" %%i in ('dir /a-d /b /s *.txt') do (
  4.     echo %%i
  5.     set /p =##<nul >temp.yky
  6.     type "%%i" >>temp.yky
  7.     move /y temp.yky "%%i" >nul
  8. )
复制代码

评分

参与人数 1技术 +1 收起 理由
qixiaobin0715 + 1 原来还可以这样搞!!!

查看全部评分

发表于 2023-9-19 16:25:36 | 显示全部楼层
  1. @echo off
  2. for /f "delims=" %%i in ('dir /a-d /b /s *.txt') do (
  3.         set /p str=<"%%i"
  4.         >$ call echo ##%%str%%
  5.         >>$ more +1 "%%i"
  6.         move $ "%%i"
  7. )
  8. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 12:03 , Processed in 0.019793 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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