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

[文件操作] 批处理如何替换文件内容?

[复制链接]
发表于 2012-7-18 00:34:28 | 显示全部楼层 |阅读模式
求一批处理文件。

把当前目E:\文件  目录下的每个.bat文件内的内容替换成本身的文件名。不带类型扩展名。

如附件12345.bat文件   

把里的1930000000改成自身的文件名123456(也就是说把每个文件的第16行ws.sendkeys后面“”里面的内容,改成自己本身的文件名。)

注:要改的都是每个文件里面都是第16的内容

请高手指点。
 楼主| 发表于 2012-7-18 11:15:06 | 显示全部楼层
本帖最后由 hdhyg 于 2012-7-18 11:16 编辑

有人能帮下忙吗。批处理和VBS都可以,只要能实现这功能就行。万份感谢!
发表于 2012-7-18 11:37:16 | 显示全部楼层
本帖最后由 乱码 于 2012-7-18 11:42 编辑
path = "E:\文件"
Set fso = CreateObject("Scripting.FileSystemObject")
For Each x In fso.GetFolder(path).Files
'遍历指定文件夹里的所有文件
   
word = Split(x.OpenAsTextStream.ReadAll,vbCrLf) '以换行分割成数组
   
word(15) = "Ws.SendKeys """ & fso.GetBaseName(x.Name) & """" '对第16行重写
   
x.OpenAsTextStream(2).Write Join(word,vbCrLf) '重新写入原文件
Next

MsgBox "OK"


VBS脚本,因为数组是从0开始的,所以word(15) 表示第16行,这里是对16行进行从写、
如果是其他行的话,自己看情况修改对应行就好了、

评分

参与人数 1技术 +1 收起 理由
hdhyg + 1 谢谢!

查看全部评分

发表于 2012-7-18 12:05:11 | 显示全部楼层
  1. @echo off&pushd "e:\文件"
  2. for /f "delims=" %%a in ('dir /b *.bat') do (
  3.   setlocal enabledelayedexpansion
  4.   (for /f "usebackq delims=" %%b in ("%%a") do (
  5.     set/a n+=1
  6.     if "!n!"=="16" (echo ws.sendkeys "%%~na") else echo %%b
  7.   ))>$
  8.   move $ "%%a"&endlocal
  9. )
复制代码
 楼主| 发表于 2012-7-18 12:32:51 | 显示全部楼层
谢谢上面2位高手,真是不知道用什么语言能表达现在心情,,真是万分感谢。。都能实现,都是高人。
发表于 2012-7-18 15:38:14 | 显示全部楼层
好得你说的是第十六行,否则你死悄悄了!
发表于 2012-7-20 21:38:23 | 显示全部楼层
保存为stat.bat

@echo off
setlocal enableDelayedExpansion
for /f "tokens=*" %%i in ('dir /a-d /b *.bat^|findstr /v "stat.bat"') do (
        (for /f "tokens=*" %%j in (%%i) do (
                set /a a+=1
                if !a!==16 (
                        echo ws.sendkeys "%%~ni"
                ) else echo %%j
        ))>>$
        move /y $ %%i
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 04:12 , Processed in 0.019479 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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