2 wuzangji0642 wuzangji0642 于 2018.04.16 23:47 提问

batch控制打印pdf,同一.bat文件,win7可以正常执行,XP执行不了 40C

@echo OFF
set reader_path="C:\Program Files\Adobe\Acrobat 4.0\Reader\AcroRd32.exe"
set printer_name=RICOH SP 3610SF PCL 6_2
set finish_path="C:\print_report\FINISHED"
set start_reader_path="C:\Program Files\Adobe\Acrobat 4.0\Reader"
 
set LOGFILE="C:\Print_1.log"
 
start %start_reader_path% AcroRd32.exe
 
ECHO Please Input Your File Path >> %LOGFILE%
ECHO Please Input Your File Path
set /p Input= 
ECHO %Input% >> %LOGFILE%
if exist "%Input%" (
    echo File Path Is Correct!Start Printing >> %LOGFILE%
    echo File Path Is Correct!Start Printing
    GOTO PRINT_D
) else (
    echo Sorry,Your File Path Is Incorrect!Please Check Again >> %LOGFILE%
    echo Sorry,Your File Path Is Incorrect!Please Check Again
    GOTO END

:PRINT_D 
CD %Input%
setlocal EnableDelayedExpansion
SET /A COUNT_1=0

    FOR /R %%s in (*.pdf) do ( 
        ECHO PRINTING %%s >> %LOGFILE%
        ECHO PRINTING %%s
        SET /A COUNT_1+=1
        %reader_path% /t "%%s" "%printer_name%"
    )
FOR /R %%s in (*.pdf) do ( 
copy "%%s" "%finish_path%"
    )

ECHO PRINTING IS FINISHED,Total Files %COUNT_1% >> %LOGFILE%
ECHO PRINTING IS FINISHED,Total Files %COUNT_1%
 
 
:END

XP里主要就是这一句执行不了 %reader_path% /t "%%s" "%printer_name%"
如果修改,规定要使用XP的系统

1个回答

caozhy
caozhy   Ds   Rxr 2018.04.16 23:57

把 @echo OFF 这个去掉
或者换成
@echo ON

然后在命令行里调用,这样可以输出所有错误信息。
另外,可以分行写,看看哪些执行是不对的。

特别检查下权限、路径等问题。你确认你xp里安装acrobat 4了么

wuzangji0642
wuzangji0642 回复caozhy: 解决了adobe reader版本太旧,打不开测试pdf,换一个就可以了
3 个月之前 回复
caozhy
caozhy 回复wuzangji0642: 打印机名字是什么,打印机安装了么
3 个月之前 回复
wuzangji0642
wuzangji0642 分行写,一样没有错误,acrobat4路径没有问题,是不是 /t以及 printer_name的问题,printer名要加什么符号么,还是要加一些port等信息
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
bat 文件在windowsXP和Windows7 上的一点区别
在 winxp 上,如果想通过 bat文件注册一个com组建或ocx组件,如果在同一文件下, 直接 regsvr32 ....ocx就可以注册了,   但是在 win7 上, 如果用bat文件注册 com组建或ocx组件, 首先要用 “否则注册出错,管理员身份”运行bat文件, 而且 bat文件的内也要改变一下, 就是 被注册的 com组建或ocx组建时 完全路径, 而不可以像winxp系统下
任务计划无法正常运行批处理文件的解决方法
网络环境:windows2003+windows2008. 描述:在win2003内使用映射驱动器Z:映射windows2008的一个目录, 在win2003中创建bat 文件复制Z:中的文件,并做任务计划bat定时执行. 命令行直接执行bat没有问题,执行任务计划失败. 最终的解决方法是参考下面的文章,在bat文件中添加: NET USE Z: \\XXX.XXX.XXX.XXX\D$
Windows批处理(cmd/bat)常用命令
前言 批处理文件(batch file)包含一系列 DOS命令,通常用于自动执行重复性任务。用户只需双击批处理文件便可执行任务,而无需重复输入相同指令。编写批处理文件非常简单,但难点在于确保一切按顺序执行。编写严谨的批处理文件可以极大程度地节省时间,在应对重复性工作时尤其有效。 在Windows中善用批处理可以简化很多重复工作 什么是批处理 批处理(Batch),也称为批处理脚本。
任务计划与直接运行bat文件的区别
任务计划里面没法识别相对路径,只能识别绝对路径,所以有时出现直接运行bat可以,配置任务计划却不行的问题就是路径问题。
win7计划任务执行BAT文件问题
今天下午做了一个调用java 可执行jar的程序,想通过win7的计划任务来调用 批处理命令: java -jar BIDropSyc.jar    或者 javaw -jar BIDropSyc.jar   但添加以后发现win7没有调用jar程序,单独点击批处理文件能执行。发现问题是由于没有添加批处理文件所在路径。在如下图框中添加上即可。 源地
让windows 成为你的秘书 -at启动定时任务
让windows 成为你的秘书 -at启动定时任务AT命令是Windows XP中内置的命令,它也可以媲美Windows中的“计划任务”,而且在计划的安排、任务的管理、工作事务的处理方面,AT命令具有更强大更神通的功能。AT命令可在指定时间和日期、在指定计算机上运行命令和程序。   我们可以在“开始→运行”中输入AT命令,下面就来看看AT命令的一些实例分析。   1、定时关机
Win7系统执行bat批处理文件显示乱码该如何解决?
在使用win7系统的时候,我们经常会使用bat批处理文件来执行一些比较多的命令进行操作,可是有win7系统用户在执行bat批处理文件的时候,中文却变成了乱码,这是怎么回事呢?该如何解决呢?下面小编就为大家分享一下Win7系统执行bat批处理文件显示乱码的解决方法。一起去看看吧!   其实原因很简单,是由于bat中的文字使用了UTF-8到导致。   解决方法:   1、右键点击Ba
bat 以管理员权限运行
bat 管理员权限
PHP 中执行 bat 批处理
这里有几个需要注意的地方 1.安全因素: 由于防止黑客入侵的原因,system,exec等函数可能被禁用. 如果对安全有信心,可能打开允许.  我的环境中system是被禁用的,exec是允许的.  2.目录级别: 如果是网页访问,经过Apache/nginx, 那么 你的程序只允许访问 Document Root 范围下的文件.  不要尝试访问范围外的批处理文件. 3
Xp,win7下 jar文件双击不能运行,或无法发现main方法,java -jar的问题解决
Xp,win7下 jar文件双击不能运行,或无法发现main方法,java -jar的问题解决 安装的java会中的javaw.exe自动关联jar文件,如果是可执行的jar文件,双击就可以运行。可是,如何才能让绿色版的j