我使用python编写了一个工具,通过将其传递到cmd
来分析pdf文件c:\python "my_tool.py" -s "my_pdf.pdf"
我想在1000个文件上测试该工具。我怎么能在所有1000个文件上运行该工具。
我用过这个
for /f %%f in ('dir /b C:\Users\Test\Desktop\CVE_2010-2883_PDF_25files') do echo %%f
但我如何指定(工具)和(-s)参数
答案 0 :(得分:1)
试试这样:
@echo off
for /f %%f in ('dir /a-d/b C:\Users\Test\Desktop\CVE_2010-2883_PDF_25files\*.pdf') do (
"c:\python\my_tool.py" -s "%%~dnxf")
答案 1 :(得分:0)
您可以使用grep
将所有.pdf
文件传递给脚本!
c:\python grep *.pdf|"my_tool.py" -s
或使用此脚本:
for i in $(\ls -d *.pdf)
do
python "my_tool.py" -s $i
done
答案 2 :(得分:0)
如果你有Unix find
命令,你可以使用
find . -type f -name "*.pdf" -exec c:\python "my_tool.py" -s {} \;
这将在当前目录
中的每个pdf文件上运行您的命令答案 3 :(得分:0)
通过确保该工具只需搜索目录中的所有pdf文件,您可以更轻松地生活:
import glob
import os
def get_files(directory):
for i in glob.iglob(os.path.join(directory, '*.pdf')):
do_something(i)
if __name__ == '__main__':
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-f', '--file', help='enter filename')
parser.add_argument('-d', '--directory', help='enter directory of pdf files')
args = parser.parse_args()
if args.directory:
get_files(args.directory)
if args.file:
do_something(args.file)