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,换一个就可以了
5 个月之前 回复
caozhy
caozhy 回复wuzangji0642: 打印机名字是什么,打印机安装了么
5 个月之前 回复
wuzangji0642
wuzangji0642 分行写,一样没有错误,acrobat4路径没有问题,是不是 /t以及 printer_name的问题,printer名要加什么符号么,还是要加一些port等信息
5 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Windows批处理(cmd/bat)常用命令
前言 批处理文件(batch file)包含一系列 DOS命令,通常用于自动执行重复性任务。用户只需双击批处理文件便可执行任务,而无需重复输入相同指令。编写批处理文件非常简单,但难点在于确保一切按顺序执行。编写严谨的批处理文件可以极大程度地节省时间,在应对重复性工作时尤其有效。 在Windows中善用批处理可以简化很多重复工作 什么是批处理 批处理(Batch),也称为批处理脚本。
解决Bat文件不能运行
解决Bat文件不能运行,双击BAT文件无反应
任务计划无法正常运行批处理文件的解决方法
网络环境:windows2003+windows2008. 描述:在win2003内使用映射驱动器Z:映射windows2008的一个目录, 在win2003中创建bat 文件复制Z:中的文件,并做任务计划bat定时执行. 命令行直接执行bat没有问题,执行任务计划失败. 最终的解决方法是参考下面的文章,在bat文件中添加: NET USE Z: \\XXX.XXX.XXX.XXX\D$
【Window】解决window的bat脚本执行出现中文乱码的问题
中文那么好,你为什么不好好善待她...window下通过新建txt文件然后改成.bat的文件,输入内容后,执行出现中文乱码?原因:批处理文件,是以ANSI编码方式。若以别的方式(如UTF-8)编辑了批处理,转换成ANSI格式即可,正常创建的文件的格式都是utf-8的。解决:1.使用windows自带的记事本编辑,然后另存的时候,可选择编码方式即可。2.在代码里修改执行时的编码格式:@echo of...
任务计划与直接运行bat文件的区别
任务计划里面没法识别相对路径,只能识别绝对路径,所以有时出现直接运行bat可以,配置任务计划却不行的问题就是路径问题。
win7运行bat文件 一闪而过 解决
1、在*.bat所在的文件夹按住shift 键然后鼠标右键,选择“在此处打开命令窗口”, 2、输入bat文件名称然后回车 这样就不会自动消失(只在win7 x64 上尝试过)
win7定时任务执行批处理文件失败
-
BAT脚本重定向所有输出到某个文件的方法
最近特么的遇到个问题,需要根据命令返回的信息判断这个命令是否执行成功,思路就是把所有的信息重定向到一个文件里面,然后查找某个字符串,可是因为这个命令后面有一堆的信息,重定向如果加在命令后面就只能获取最近的一条信息,完鸡巴蛋。例如:fastboot.exe writeKeys会有如下的信息:Opening COM25... write KEYS... FAILED (remote: keys exi...
win7计划任务执行BAT文件问题
今天下午做了一个调用java 可执行jar的程序,想通过win7的计划任务来调用 批处理命令: java -jar BIDropSyc.jar    或者 javaw -jar BIDropSyc.jar   但添加以后发现win7没有调用jar程序,单独点击批处理文件能执行。发现问题是由于没有添加批处理文件所在路径。在如下图框中添加上即可。 源地
bat批处理循环执行adb命令
片段one是每隔2s左右执行一次音量减按键,片段two是3s,one执行完执行two,以此循环,直至手动结束批处理。ping -n 2 127.0>nul等待2s:one ::adb shell input swipe 900 1000 700 1000 adb shell input keyevent 25 %KEYCODE_VOLUME_DOWN% ping -n 2 127.0>nul got