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