[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

需要批量给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")
复制代码

回复 1# zhuyihzx


    只在第一行开头添加吗?还是每一行开头都添加?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# Batcher
就是开头的第一行就行了,谢谢

TOP

本帖最后由 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. )
复制代码

TOP

请在与批处理同目录处新建一个文本文件00.txt,其内容为##,只一行不要回车。
qixiaobin0715 发表于 2023-9-19 15:10


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

copy /b "00.txt+E:\123\
move "temp" "E:\123\
文件名、目录名或卷标语法不正确。
已复制         0 个文件。
系统找不到指定的文件。

TOP

回复 5# zhuyihzx
已修改

TOP

回复 6# qixiaobin0715


可以增加了,但是有个小问题,
运行后先在00.txt上增加了##,然后后续的##都变成####了,
有没有办法不用外接00.txt,直接在BAT中加上##呢?
感谢大佬的帮忙

TOP

本帖最后由 qixiaobin0715 于 2023-9-19 15:40 编辑

将文本文件00.txt修改为00.log,代码中的00.txt也修改为00.log,再试试。
直接使用代码加效率不如这样好。

TOP

回复 8# qixiaobin0715
    感谢大佬,可以用了,

TOP

不知行否
  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. )
复制代码

TOP

回复 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

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  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
复制代码
bat小白,请多指教!谢谢!

TOP

返回列表