2013-04-03 60 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