0

嗨,我在 Windows Server 中创建了一个批处理作业。批处理作业的任务是使用 PSFTP 对文件进行 ftp。当我直接运行 .bat 文件时,它在脚本运行后工作正常,窗口关闭。但是当我通过我们的 CTRL-M 运行时,即使我通过 psftp 接收文件,它也会保持运行状态。不知道该怎么做。下面是脚本文件。非常感谢您的帮助。

ECHO welcome
cd C:\Putty\putty\
start ShortcuttoPAGEANT
SET INPUT_FILe_PATH="\\...\Somefilename.csv"
SET YEAR=%DATE:~-4%
SET MONTH=%DATE:~-7,2%
SET DAY=%DATE:~-10,2%
set HOUR=%TIME:~0,2%
IF "%HOUR:~0,1%" == " " SET HOUR=0%HOUR:~1,1%
SET MIN=%TIME:~-8,2%
SET SEC=%TIME:~-5,2%
SET MILSEC=%TIME:~-2,2%
SET OUTPUT_FILE_NAME=outputfilename_%YEAR%%MONTH%%DAY%%HOUR%%MIN%%SEC%.csv
SET OUPUT_DIR="//input"
ECHO cd %OUPUT_DIR%> script.txt
ECHO put %INPUT_FILe_PATH% %OUTPUT_FILE_NAME%>> script.txt
ECHO chmod 0664 %OUTPUT_FILE_NAME%>> script.txt
ECHO quit>> script.txt
echo n|psftp -b script.txt user@hostserver
exit /b 0
4

1 回答 1

2

exit /b 0正在退出脚本,但没有CMD.EXE

引用命令行帮助(exit /?):

/B 在批处理脚本中使用时,此选项将仅退出脚本(或子例程),但不会退出 CMD.EXE

改用exit 0,如果它不起作用,请尝试GOTO:EOF

另请参阅:退出 /B 0 不起作用

于 2017-10-05T07:27:30.210 回答