file - 如何获取文件夹中每个文件的名称并在批处理文件中应用?

标签 file batch-file solr filesystems

我想创建一个 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/

相关文章:

python - 管理不同对象的文件打开和关闭职责

Solr 增量导入查询正在删除中的所有内容

java - Solrj 导入 - 找不到包

c# - 在C#中读取用C格式化的文件

java - 如何复制目录及其子目录、文件和zip文件

c# - 将字节插入文件中间(在 Windows 文件系统中)而不读取整个文件(使用文件分配表)?

batch-file - 抑制 FORFILES "no files found"错误

batch-file - 如何让 %random% 显示负结果?

mysql - Windows .bat 文件 0< 不确定 0 来自何处

solr - 如何在Solr中查询NOT IN?