我需要一个批处理文件来将一个目录中的一行文本更改为另一个目录中的同一文本文件

时间:2013-04-03 18:59:20

标签: batch-file

基本上,我有一个文本文件,在5个文件夹中有一行文本SetNumber=01

C:\Documents and Settings\User\Desktop\Test\test.txt
C:\Folder\Test\test.txt
C:\Test\test.txt 
etc.  

我需要在所有这些文件夹中将此SetNumber=01每月更改为不同的数字,例如SetNumber=01SetNumber=02,并且希望运行可以复制和替换的批处理文件来自

的这一行文字
C:\Documents and Settings\User\Desktop\Test\test.txt 

进入

C:Folder\Test\test.txt. 
etc. 

非常感谢任何帮助!!

2 个答案:

答案 0 :(得分:0)

好的,我们走了。这会将文件C:\Documents and Settings\User\Desktop\Test\test.txt复制到当前卷上的所有..\test\test.txt文件(已删除)。如果输出正常,则删除echo命令:

@echo off&setlocal enabledelayedexpansion
set "sourcefile=C:\Documents and Settings\User\Desktop\Test\test.txt"
for /f "delims=" %%i in ('dir /s /b /a-d \test.txt') do (
    set "fpath=%%~fi"
    if "!fpath:*test\test.txt=!"=="" if not "%sourcefile%"=="%%~fi" (
        echo copy "%sourcefile%" "%%~fi"
    )
)

答案 1 :(得分:0)

下面的批处理文件通过插入“SetNumber =%1”这一行来更改磁盘中任何文件夹中名为 test.txt 所有文件:

@echo off
for /R \ %%a in (test.txt) do echo SetNumber=%1> "%%a"

例如,如果以前的批处理文件名为SetNumber.bat,则可以使用以下命令将所有文件更改为SetNumber = 02:

setnumber=02

安东尼奥