Board logo

标题: [文本处理] 批处理如何将文件名插入到文本的第一行? [打印本页]

作者: batblue    时间: 2014-12-6 12:52     标题: 批处理如何将文件名插入到文本的第一行?

本帖最后由 pcl_test 于 2016-9-24 13:32 编辑

01:
如何将一个文件夹下的所有文本文件的文件名插入到各个文件的第一行并换行(即原先的第一行变成了第二行。
02:
如何对一个文件夹下的所有文本文件都在文件首尾部分别插入固定的文本。
比如在文件开头插入hello world
在文件末尾插入goodbye world

谢谢。
作者: apang    时间: 2014-12-6 17:50

文件夹里有啥文件?exe文件算不算?
作者: batblue    时间: 2014-12-6 17:54

回复 2# apang
没写清楚不好意思,都是文本文件
作者: apang    时间: 2014-12-6 18:55

01
  1. @echo off
  2. for /f "delims=" %%a in ('dir /b *.txt') do (
  3.         (echo,%%~na&type "%%a")>$
  4.         move $ "%%a"
  5. )
  6. pause
复制代码
02
  1. @set @n=0;/* & echo off
  2. for /f "delims=" %%a in ('dir /b *.txt') do (
  3.         cscript -nologo -e:jscript "%~0"<"%%a">$
  4.         move $ "%%a"
  5. )
  6. pause & exit/b */
  7. s1 = "hello world";
  8. s2 = "goodbye world";
  9. txt = WScript.StdIn.ReadAll().replace(/^(\s*\n)+|(\s*\n?)+$/g, "");
  10. WScript.Echo(s1 + txt + s2)
复制代码

作者: batblue    时间: 2014-12-6 19:38

回复 4# apang


非常感谢大师指点
作者: batblue    时间: 2014-12-6 19:57

回复 4# apang


    另外第二个问题的脚本貌似不适用于UTF8,对于UTF8格式的文本文件,要怎么改脚本呢。
    毕竟很多都是有UTF-8字符,只用ANSI不够。
    谢谢。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2