【发布时间】:2017-11-25 14:22:00
【问题描述】:
我有 文件夹 A,其中包含多个名为:
的 pdf 文件FL001.pdf
FL002.pdf
FL003.pdf
etc.
还有一个文件夹 B,其子目录包含以 文件夹 A 中包含其他 .pdf 文件的文件命名的其他文件夹,如下所示:
FL000-099
FL001
- 001100.pdf
- 001101.pdf
FL002
- 002100.pdf
- 002101.pdf
FL003
- 003100.pdf
- 003101.pdf
FL100-199
FL101
- 101100.pdf
- 101101.pdf
FL102
- 102100.pdf
- 102101.pdf
F3003
- 103100.pdf
- 103101.pdf
etc.
我还有一台网络打印机。
我想做的事:
按照文件夹A中.pdf文件的名称搜索文件夹B中相应的子目录;如果存在则将文件夹A中的.pdf文件发送到打印机,然后将文件夹B中相应子目录中的所有.pdf文件发送到打印机,然后转到下一个文件,然后对文件夹 A 中的所有名称/文件重复该过程。
在文件夹 A 中打印 .pdf 文件是可以的,但我需要帮助处理无法正常工作的第二部分。如果我将current_directory 更改为...\Folder B\FL000-099\ 它可以工作,但我需要从原始路径中搜索所有子目录。 (见下面的代码)
我做了什么
@echo off
set current_directory=C:\Users\user\Desktop\Folder B\
set art_directory=C:\Users\user\Desktop\Folder A\
set filename=FL001
set extension=.pdf
set tofind=%current_directory%%filename%
set tofind2=%art_directory%%filename%
set tofindextension=%tofind2%%extension%
IF EXIST %tofindextension% ( "C:\Program Files\SumatraPDF\SumatraPDF.exe" %tofindextension% -print-to "\\server\printer"
) ELSE (
echo "No file!"
)
IF EXIST %tofind%\ (
FOR /R %tofind% %%F in (*.pdf*) do "C:\Program Files\SumatraPDF\SumatraPDF.exe" %tofind%\%%~nxF -print-to "\\server\printer"
) ELSE (
echo "No file!"
)
pause
是否可以如上所述进行搜索?你能帮我解决一下吗?
【问题讨论】:
-
您首先需要像
SET "Var_Name=Variable String Value"这样更改您的代码并像这样引用您的变量"%Var_Name%"或"%Var_Name%\"这都是关于双引号的 -
F3003在你的例子中应该是FL103,对吧?
标签: windows batch-file pdf printing cmd