2013-04-03 46 views
0

基本上,我有5个文件夹我需要一个批处理文件在一个目录改变文本的一行到同一个文本文件在不同的目录

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

我用文字SetNumber=01的一行文本文件需要改变这个SetNumber=01不同号码的月租,例如SetNumber=01SetNumber=02,在所有这些文件夹,并想运行一个批处理文件,将复制并

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

替换这行文字为

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

任何帮助将不胜感激!

+0

您想更改文本文件中的文本。所以你必须说具体的,改变什么文件。 ''例如“SetNumber = 01'就是阴天。 – Endoro 2013-04-03 19:56:47

+0

我试过的唯一的东西就是运行这个:xcopy”C:\ Documents and Settings \ User \ Desktop \ Text \“”test.txt“”C:\ Test \ test.txt \“,因为我在复制某一行时遇到了问题SetNumber = *我需要的是更改SetNumber的值并在5个文件夹中更改它们。 – Gunther 2013-04-03 20:20:14

+0

确定,但将值更改为什么**去**什么? – Endoro 2013-04-03 20:55:16

回答

0

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

@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" 
    ) 
) 
0

批处理文件如下变化的test.txt在磁盘的任何文件夹中插入此行“SetNumber =%1”的所有文件命名为

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

例如,如果前面的批处理文件名为SetNumber.bat,你可能所有的文件更改为SetNumber = 02这个命令:

setnumber=02 

Antonio

相关问题