我想创建一个 Windows 批处理文件,该文件获取具有特定扩展名的每个文件(例如 *.doc )并应用命令语法并执行它。如何做到这一点?
例如:
a folder contains
a.doc
b.doc
c.doc
命令格式
java -Durl=http://localhost:8983/solr/update/extract?literal.id=**** -Dtype=application/word -jar post.jar ****
where
**** -> name of each document
对于 ex,在第一次迭代时它应该产生。
java -Durl=http://localhost:8983/solr/update/extract?literal.id=a.doc -Dtype=application/word -jar post.jar a.doc
并且必须执行它。
在第二次迭代时。
java -Durl=http://localhost:8983/solr/update/extract?literal.id=b.doc-Dtype=application/word -jar post.jar b.doc
像这样。
我该怎么做?
注意:使用的文件名不应再次重复(在cmd生产中不再使用)
最佳答案
@echo off
pushd c:\test_dir
for /r %%a in (*) do (
java -Durl=http://localhost:8983/solr/update/extract?literal.id=%%~nxa -Dtype=application/word -jar post.jar "%%~dpfnxa"
)
这将以递归方式处理文件。您可以过滤文件“通配符”表达式 ->
for/r %%a in (*doc)
或仅对当前文件夹执行此操作 for %%a in (*)
。
关于file - 如何获取文件夹中每个文件的名称并在批处理文件中应用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21038515/