0
我有很多文件需要在移动到其他文件夹之前进行筛选。 过滤条件:批处理:筛选器文件名
[PEQ]*_[+-][1-9][0-9]_[P-R][0-9]_*[._][0-9]*
文件名的例子:
P101_+19_R0_3.0_QA.txt
我尝试在批处理脚本,但没有发生应用过滤器。 我正确定义了过滤器吗?
我的脚本:
SET _ext1=txt
SETLOCAL ENABLEDELAYEDEXPANSION
for %%f in (%_source%\[PEQ]*_[+-][1-9][0-9]_[P-R][0-9]_*[._][0-9]*.%_ext1%) do (
echo %%f >> %LOG%
SET _path=%%~df%%~pf
echo !_path! >> %LOG%
SET _filename=%%~nf
echo !_filename! >> %LOG%
echo. >> %LOG%
echo Processing !_filename! >> %LOG%
IF EXIST !_path!!_filename!*.%_ext1% (
copy /Y "!_path!!_filename!*.%_ext1%" "%_target%" >> %LOG%
)
)
ENDLOCAL
@LotPings is'nt如果我们把[PEQ],文件的第一个字符是P或E或Q?如我错了请纠正我。 – wina
这是正确的,但是你的过滤器(?RegEx?)在'[PEQ]'的任何数字'*'后面都有一个下划线'_'您可以批量使用RegEX作为findstr或其他工具的参数(ported sed,grep)或PowerShell。批仅使用通配符。 – LotPings