如何使用循环从目录中获取文件名?

时间:2019-06-03 12:15:36

标签: batch-file

我试图获取目录input中的所有文件名,但是它对我不起作用。

@echo off

:start
cls
FOR /D %%i IN ("input*") DO python index.py %%i
TIMEOUT /T 20
exit

1 个答案:

答案 0 :(得分:1)

如果要在input目录中使用所有文件名(而不是目录名),请使用以下命令。它将产生不是目录的所有文件名,并在它们上运行python命令。始终引用路径名,以防其中包含空格或其他特殊字符。

FOR /F %%i IN ('DIR /B /A:-D "input"') DO (
    "C:\venv\py36-64\Scripts\python.exe" "C:\path\to\index.py" "%%~i"
)

如果python.exe目录位于PATH变量中,而index.py始终位于input的父目录中,那么您可以使用它。

FOR /F %%i IN ('DIR /B /A:-D "input"') DO (
    "python.exe" "..\index.py" "%%~i"
)