在批处理文件中添加前后的内容

时间:2014-01-17 16:41:15

标签: windows batch-file

我希望批处理脚本的代码能够根据我们称之为removelist.txt的文本文件来编辑Del.bat

所以我希望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 :(得分: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的技巧来连接同一行上的所有文本。

答案 1 :(得分:0)

DEL.bat是一个非常糟糕的名称,因为DEL是一个CMD内部关键字。

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

就是您所需要的一切 - 我将让您修复文件名。