2013-11-23 24 views
0

我一直在嘗試編寫這個BATCH-SCRIPT,但是我對腳本非常新穎 - 所有我曾研究過的是MEL(Maya嵌入式語言)。所有我想要做的是:搜索文件的存在,如果文件存在,用NewFile替換文件,

1搜索C:/一個文件(originalFile)

2如果該文件存在,我想執行一系列的命令,但比什麼我想用另一個文件替換原始文件(decoyFile)

3然後我想將decoyFile重命名爲originalFile的名稱(因爲如果它與原始文件名相同,那麼它也會被替換爲REPLACED) - 或會有一些混淆)

* TRICK是我想搜索一些在decoy文件中的文本,這將讓我知道它是decoy文件...也許「decoyText」*

我覺得,我找到原始文件後(第1步),我將不得不CHECK(或Findstr)看看它是否包含decoyText ...如果decoyText EXIST然後退出或什麼都不做,但如果decoyText不存在然後用decoyFile REPLACE originalFile

這是我第一次想到一個足夠好的理由來寫一個腳本使用MS-DOS,我可以管理的只是第一行,它迴應文件確實存在......我嘗試過的所有事情似乎都不想工作。

您的幫助將不勝感激...謝謝...

是否存在DIR/s的originalFile.txt(

回答

0
@ECHO OFF &SETLOCAL 
for /d /r C:\ %%a in (*) do if exist "%%~fa\originalFile" set "originalFile=%%~fa\originalFile" 
if not defined originalFile echo originalFile not found&goto:eof 
find "decoyText" "%originalFile%" && echo %originalFile% is not original&goto:eof 
for /d /r C:\ %%a in (*) do if exist "%%~fa\decoyFile" set "decoyFile=%%~fa\decoyFile" 
if not defined decoyFile echo decoyFile not found&goto:eof 
find "decoyText" "%decoyFile%" || echo %decoyFile% is no decoy&goto:eof 
move "%decoyFile%" "%originalFile%" || Error! Can not remove %originalFile%! 
關閉@echo CLS