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

[文本处理] [已解决]批处理怎样把文本批量插入目录下所有htm文件中?

本帖最后由 mingda7612 于 2012-6-6 09:46 编辑

有一段跟踪代码,我把他们全都放在D:/google.txt文件中了,这一段文要插到d:/web/下及所有子目录里的所有htm文中,并且要插在每个文件的</head>字段的前面
这个代码要怎么写?
  1. copy D:/google.txt d:/web/*.htm
复制代码
这样写好象不行。
1

评分人数

    • zqz0012005: 感谢给帖子标题标注[已解决]字样PB + 2

  1. @echo off
  2. for /f "tokens=* delims=" %%i in ('dir /a-d /b /s "d:\web\*.htm"') do (
  3.     >"%%~dpni_back.htm" type "d:\google.txt"
  4.     >>"%%~dpni_back.htm" echo.
  5.     >>"%%~dpni_back.htm" type "%%i"
  6.     move "%%~dpni_back.htm" "%%i" >nul 2>nul
  7. )
  8. pause
复制代码
</head>默认第一行  没想怎么写

TOP

假设跟踪代码为:
  1. 123
  2. 456
复制代码
用sed:sed -f test.sed d:\web\*.htm
test.sed内容为:
  1. /<\/head>/i\
  2. 123\
  3. 456
复制代码
看得多说得多,远比不上写得多。

TOP

本帖最后由 mingda7612 于 2012-6-6 08:42 编辑

回复 2# canyuexiaolang
</head>不是在最开始也不是在结尾,是在大约三分一处,要是不找是不行的。位置放不对,好象也不行。

TOP

htm文档贴个样本看看

TOP

我要加入的代码是:
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-31832627-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
在web下有最少一个二级子目录。

TOP

本帖最后由 apang 于 2012-6-6 09:09 编辑

试试
  1. @echo off
  2. for /f "delims=" %%a in ('dir /a-d /b /s "d:\web\*.htm"') do (
  3.   (for /f "tokens=1* delims=:" %%b in ('findstr /n ".*" "%%a"') do (
  4.     set "str=%%c"
  5.     setlocal enabledelayedexpansion
  6.     if /i "!str:~,7!"=="</head>" (type d:\google.txt&echo,!str!) else echo,!str!
  7.     endlocal
  8.   ))>$
  9. move $ "%%a"
  10. )
复制代码
1

评分人数

TOP

高人!谢谢大家的支持。

TOP

返回列表