我是批处理新手,我正在尝试执行以下操作:
这是我到目前为止所做的:
@echo off
setlocal EnableDelayedExpansion
rem Populate the array with existent files in folder
set i=0
for %%b in (*.*) do (
set /A i+=1
set list[!i!]=%%b
)
set Filesx=%i%
rem Display array elements
for /L %%i in (1,1,%Filesx%) do echo !list[%%i]!
答案 0 :(得分:0)
... do (
echo !list[%%i]! | find /i "person" >nul && call specific.bat !list[%%i]!
)
echo !list[%%i]! | find /i "person"
:找到单词
>nul
:忽略输出(我们不需要它,只是错误级别)
&&
:如果上一个命令成功(找到了这个词),那么......
你真的需要那个阵列吗?你可以“动态”做到这一点:
for %%b in (*.*) do (
echo %%b | find /i "person" >nul && call specific.bat "%%b"
)
仅限文件名,使用%%~nb
获取全名(包括路径),使用%%~fb
(有关更多选项,请参阅for /?
)