Batch file 需要使用白名单文本文件从整个文件夹中排除某些文件
我在使用白名单文本文件从整个文件夹中排除某些文件时遇到问题。目前我正在研究批处理脚本Batch file 需要使用白名单文本文件从整个文件夹中排除某些文件,batch-file,whitelist,Batch File,Whitelist,我在使用白名单文本文件从整个文件夹中排除某些文件时遇到问题。目前我正在研究批处理脚本 for /f "tokens=* Delims=" %%x in (whitelist.txt) do ( for %%i in ("list\*") do ( if not "%%i"=="%%x" ( echo %%i ) ) ) 这里需要一些指导,谢谢。您正在迭代whitelist.txt中每一行的目录 虽然不知道whitelist.txt中有什么内容,但这是对问题
for /f "tokens=* Delims=" %%x in (whitelist.txt) do
(
for %%i in ("list\*") do
(
if not "%%i"=="%%x"
(
echo %%i
)
)
)
这里需要一些指导,谢谢。您正在迭代whitelist.txt中每一行的目录 虽然不知道whitelist.txt中有什么内容,但这是对问题的一种近似 内部
whitelist.txt
one.txt
two.txt
this is data.txt
然后你可以做类似的事情
for /f "tokens=*" %%f in (
'dir /b ^| findstr /v /b /e /i /l /g:whitelist.txt'
) do echo %%f
生成仅获取文件名(
/b
)的文件列表(和文件夹,如果要排除它们,请添加/a-d到dir命令),并使用findstr
进行筛选。参数包括:从whitelist.txt(/g:whitelist.txt
)获取搜索字符串,whitelist.txt的内容是文本字符串(/l
),忽略大小写(/i
),搜索字符串应该从行的开始(/b
)到结束(/e
),并且只返回不匹配的行(/v
).非常感谢你的帮助(它起作用了thanks@user3145735,谢谢,很好,但是如果这对你有用,不要忘记接受答案。这将给你+2次重复,给作者+15的答案,并将问题标记为已回答。请参阅了解更多信息。您好,我只是想问一下,如果我的.txt文件包含该文件的完整路径,该怎么办??我应该做什么改变才能让这一切顺利进行??c:\temp\one.txt