1

我们正在尝试运行一个在 Win98 下运行良好多年的自定义 .BAT 文件,但我们在周末刚刚获得了一台新服务器,Win98 虚拟机现在显然无法运行。所以,我正在尝试设置它,以便它可以通过 WinXP 命令提示符运行。我需要改变什么才能使它与 XP 一起工作?

我输入 .BAT 文件,它运行良好。它允许我输入日期,但是当我像往常一样输入日期并按 Enter 时,我得到“此时 GOTO 出乎意料”:

:CRLIST.BAT - DAILY C/R DEPOSIT LIST
:
@ECHO OFF
CALL SEARCH
CRDATE.EXE
IF EXIST DEPOS.LS DEL DEPOS.LS
CASHLIST.EXE
CALL QPR DEPOS.LS 2

我在 QPR.BAT 文件中找到了 GOTO。这是 QPR.BAT 的代码:

:QPR.BAT - COPY SPECIFIED LISTING FILE ( .LS) TO SPECIFIED PRINTER PORT (1-9)
:       WITH FF FOLL'G - LPTx MUST ALREADY BE CAPTURED TO DESIRED PRINTER
:
@ECHO OFF
IF "%1==" GOTO OPERR
IF "%2==" GOTO OPERR
COPY %1 LPT%2
CALL FF%2
GOTO END

:OPERR
ECHO Please re-enter this Print Queue command as follows:
ECHO        QPR  xxxxx.LS  n
ECHO.
ECHO where  xxxxx.LS  is the name of the report listing file,
ECHO  and  n  is the Network Printer No. on which to print.
:END 

我一直在阅读不同的主题,并尝试将其更改"%1==""%1"=="", 相同的%2,然后它会给我一条新消息:

系统找不到指定的文件。
已复制 0 个文件。
系统找不到指定的文件。
已复制 0 个文件。

如果我添加"%%1"=="", "%%2"=="",然后在任何有一个 % 的地方添加一个额外的 % ,它将显示:

系统找不到指定的文件。
系统找不到指定的文件。
已复制 0 个文件。

我需要提供其他代码吗?有很多 .BAT 文件,所以如果我能弄清楚这一点,他们希望我们可以应用于其余的命令。

4

1 回答 1

1

你可以试试这个:

@ECHO OFF
IF "%~2"=="" GOTO OPERR
COPY "%~1" LPT%~2:
于 2013-08-19T20:52:21.753 回答