让用户输入所需的文件夹来计算PDF

时间:2015-08-05 14:27:16

标签: batch-file pdftk

我有一个脚本可以计算PDF中的页面数量,不过它只限于你放入的任何文件夹。我很想知道我需要添加什么才能让用户能够选择要去的目录to,这是否可能。

我知道如何提示用户输入,只是不确定如何在这里正确实现...

代码示例:

@echo off
set total=0
for %%a in (*.pdf) do (
   title %%a
   for /f "tokens=2 delims=: " %%b in ('pdftk "%%a" dump_data ^| find "NumberOfPages"') do (
      set /a total+=%%b
   )
)
echo %total%  
pause

1 个答案:

答案 0 :(得分:1)

使用batch parameters修改for循环。

for %%a in (%1/*.pdf) do {

编辑:因此,如果第一个参数是“/ Documents / work”,那么脚本将看到for循环:

for %a in (/Documents/work/*.pdf) do {
 ...

不要忘记处理没有参数的用例。

另一个不太可靠的选择

使用pushd/popd转到用户想要处理的目录。

此方法不可靠,因为如果目录输入错误或不存在,它会产生意外结果。

  1. 暂时将目录更改为用户指定的目标

    pushd %1
    
  2. 使用原始for循环

    for %%a in (*.pdf) do {
     ...
    }
    
  3. 返回原始目录

    popd