我需要按名称顺序扫描文件,因为我的脚本似乎不使用此条件。 我应该在一个文件夹中处理一些html,然后是1.html,然后是2.html,然后是3.html,然后在solr中上传文件,设置id等于名称(所以1.html应该有id = 1等)
这是我的蝙蝠脚本,但似乎没有我想要的确切行为。
@setlocal enableextensions enabledelayedexpansion
@echo off
set /a "i = 1"
for %%f in (*.html) do (
set "N=%%f"
curl "http://localhost:8983/solr/update/extract?literal.id=!i!&commit=true" -F "myfile=@!N!"
set /a "i = i + 1"
)
)
endlocal
因此页面在solr中正确上传,但id与上传的页面不匹配。 例如,第9.html页谈到了一个足球运动员,但在solr中,页面9.html与id = 9谈论另一件事。
我认为错误是我的计数器,我不需要它,并且literal.id应该设置在没有扩展名的页面名称的值上,所以页面1.html应该有id = 1但我不要不知道如何获得名称文件的这一部分。
感谢您的帮助
答案 0 :(得分:0)
%%~nf
应返回%%f
中引用的文件的名称(不带扩展名)。有关完整参考,请参阅for /?
。