我一直在尝试编写这个BATCH-SCRIPT,但我对脚本编写起来非常新 - 我曾经研究过的是MEL(Maya嵌入式语言)。我想做的就是:
1 SEARCH C:/表示文件(originalFile)
2如果文件是EXIST,我想执行一系列命令,但比我试图用另一个文件(decoyFile)替换originalFile更重要
3然后我想将decoyFile重命名为originalFile的名称(因为如果它与originalFile的名称相同,那么它也会被替换 - 或者会有一些混乱)< / p>
* TRICK是我想在decoyFile中搜索一些文本,让我知道它是decoyFile ......也许&#34; decoyText&#34; *
我认为在找到originalFile之后(步骤1),我必须检查(或Findstr)以查看它是否包含decoyText ...如果decoyText EXIST然后EXIT或什么也不做,但IF decoyText不存在EXIST然后用decoyFile替换originalFile
这是我第一次想到使用MS-DOS写一个脚本的足够好的理由,我所能管理的只是第一行,它回应了文件DOES EXIST ...我尝试的一切之后,似乎并不想工作。
非常感谢您的帮助......谢谢......
@echo off CLS 如果存在dir / s originalFile.txt(
)
答案 0 :(得分: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%!