吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 344|回复: 1
上一主题 下一主题
收起左侧

[求助] PDF批量打印的批处理 无法打印的落地求助

[复制链接]
跳转到指定楼层
楼主
Love0912 发表于 2024-10-15 18:37 回帖奖励
先看代码:

@echo off
setlocal enabledelayedexpansion
set "acroFound=0"

:: 遍历所有磁盘
echo 程序初始化中,查询您是否已安装PDF阅读软件。。。。。
for %%d in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
if exist %%d:\ (
:: 检查每个磁盘的根目录及其子目录中是否存在AcroRd32.exe
dir /b /s %%d:\AcroRd32.exe >nul 2>&1
if !errorlevel! equ 0 (
set "acroFound=1"
for /f "delims=" %%i in ('dir /b /s %%d:\AcroRd32.exe') do (
set "cx=%%i"
goto :jx :: 找到了就结束循环
)
)
)
)
:xz
cls
echo 你当前电脑未安装AcroRd PDF阅读器
echo.
echo 1  进行下载,并关闭此脚本              2   直接关闭当前脚本
echo.
:cho
set choice=
set /p choice=          请输入对应的按回车:
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
if /i "%choice%"=="1" goto wz
if /i "%choice%"=="2" goto end
echo 选择无效,请重新输入
echo.
goto cho
:wz
cls
start "" "https://zhaol.lanzoui.com/i1yhNf0uzje"
exit
rem 通过拖拽或输入文件名指定路径
:jx
cls
echo.
echo                                二虎电脑 PDF打印管理器
echo ╔┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉╗
echo.┋
echo ┋     1、本程序用于快速批量打印PDF文件
echo ┋     2、本程序默认使用指定的PDF阅读器(Adobe Reader)并使用默认的打印机 ┋
echo.┋     3、本程序完全免费,旨在让您能快速完成繁琐的任务,解放双手
echo.┋     4、如发现BUG可联系作者进行反馈。
echo.┋     5、软件不设置版权限制,可以随意使用,但是不允许拿去卖钱!!
echo.┋
echo ┋                              作者:二虎电脑 同V
echo.╚┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉╝
set "folder=%~1"
for /f "delims=" %%i in ('powershell -command "(Get-WmiObject -Class Win32Printer | Where-Object { $.Default -eq $true }).Name"') do set printer=%%i
if "%folder%"=="" set /p folder="请输入包含PDF文件的文件夹路径(支持直接将文件夹拖拽到本脚本)并按回车确认: "
rem 本脚本加密部分,需要输入密码才能继续使用本程序进行打印
setlocal enabledelayedexpansion
set InputPrompt=请输入密钥以继续:
set CorrectKeyMsg=密钥正确,继续执行...
set WrongKeyMsg=密钥错误,请重新输入或按X键退出...
set RetryPrompt=是否重新输入(Y/N)?:
set InvalidInputMsg=无效输入,请重新选择...

:PasswordLoop
set /p UserKey=!InputPrompt!
if "%UserKey%"=="52pj" (
echo !CorrectKeyMsg!
goto start
) else (
echo !WrongKeyMsg!
set /p Choice=!RetryPrompt!
if /i "%Choice%"=="Y" goto PasswordLoop
if /i "%Choice%"=="X" goto end
echo !InvalidInputMsg!
goto PasswordLoop
)
rem 指定完毕执行以下命令

:end
exit

:start
echo 正在执行打印操作中。。。
for %%f in ("%folder%*.pdf") do (
echo 正在打印 %%f ...
start "" /min %cx% /t "%%f" "%printer%"
)
rem 执行完毕,反馈信息
echo.
echo 所有PDF文件打印完毕,摁任意键退出此脚本。
pause


这个代码经过测试,其它部分都没啥问题了,好像是!! 现在的问题是,无法调用默认打印机进行打印,不晓得原因是啥,没有查出来是没有成功调用PDF阅读器还是没有成功调用打印机,但是按代码来说,似乎我都进行了定义应该没问题才对呀,,求知道的大佬给好好看看哪里出了问题~~
我的预期设想是:
1、第一部分判断是否安装了PDF阅读器,如果安装了则获取完整路径并赋值给变量cx(为打印部分准备的变量),然后继续运行下面的代码,没有则提示下载或退出
2、第二部分提示用户输入PDF文件夹路径或直接拖拽获取路径
3、第三部分输入对应的密钥进行权限获取,密码正确则继续打印操作
4、第四部分,使用默认打印机,调用PDF阅读器进行打印操作,
现在前三部分似乎都没有问题,就第四部分无法落地,但又没看出来哪里宕机了,请不吝教诲~~

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
yaoshun3 发表于 2024-10-15 20:38
https://www.52pojie.cn/thread-1972625-1-1.html作者在这儿,紧急修复BUG中
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-10-16 04:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表