2014-01-17 54 views
0

我想對於一個批處理腳本編輯Del.bat基於文本文件中的代碼,我們將它稱爲removelist.txt添加的東西在批處理文件

所以我想edit.bat創建del.bat採用removelist.txt的輸入並將其放在底部的格式中。

Removelist.txt

name 1 
NaMe 2 
Name3 
Name 4 
name 5 
name 6 

然後在此基礎上Removelist.txt內容我想它來創建Del.bat Del.bat總會有類型%〜DP0 \ input.txt的輸入和%〜 dp0 \ output.log作爲輸出 所以我希望它在處理完後看起來像這樣。

type %~dp0\input | findstr /v "name 1" | findstr /v "NaMe 2" | findstr /v "Name3" | findstr /v "Name 4" | findstr /v "name 5" | findstr /v "name 6" > %~dp0\output.log" 

這將創建一個大規模的刪除單詞列表,預計可能有500多個| FINDSTR/V 「XXXXX」

+2

好的。你的問題是什麼? –

+0

我想知道我的批處理文件中將使用什麼代碼來完成上述任務。我想要一個批處理文件使用我提到的標準創建另一個批處理文件。 – user3201060

+0

然後[編輯]您的帖子,並在那裏提出具體問題。你已經做出了你想要的聲明,但這是一個「問題和答案」網站。在得到答案之前,你必須先問一個問題。你想做什麼**具體部分**是你遇到困難,希望我們幫你解決? –

回答

0

試試這個:

@echo off 
setlocal 
set "write=<nul set/p" 
(%write%=type "%~dp0input" 

for /f %%a in (removelist.txt) do (
    %write%= ^|Findstr /v "%%a" 
) 
echo(^> "%~dp0output.log" 
)>del.bat 

這不正是基礎。它使用set/p的技巧連接同一行上的所有文本。

0

DEL.bat是一個非常糟糕的名字可供選擇,因爲DEL是一個CMD內部關鍵字。

FINDSTR /L /v /g:removelist.txt input >output.log 

是你所需要的 - 我會讓你修復文件名。