我希望批处理脚本的代码能够根据我们称之为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”
答案 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
就是您所需要的一切 - 我将让您修复文件名。