我想在使用批处理文件成功发送到ftp后从本地系统中删除文件。用于调度目的我使用窗口调度程序。下面是我的代码,它能够发布到ftp.how删除成功发送到ftp否则文件shld不删除。
%windir%\system32\ftp.exe -s:%~f0
goto done
cd C:\
open Host Name
user_name
password
bi
put user_input.csv
bye
:done
@echo off
cls
exit
如果我在这里写删除那么它将从远程server.pls删除建议我如何使用窗口ftp.exe
答案 0 :(得分:0)
您需要重定向FTP命令的输出。检查成功的消息并采取行动。
我无法提供确切的脚本,因为它取决于您实际使用的FTP命令,但这个想法是这样的。
echo open Host Name >%temp%\ftpin.txt
echo user_name >>%temp%\ftpin.txt
echo password >>%temp%\ftpin.txt
echo put user_input.csv >>%temp%\ftpin.txt
echo bye >>%temp%\ftpin.txt
ftp -n -s:%temp%\ftpin.txt >%temp%\ftpout.txt
for /f "tokens=* skip=9" %%a in (ftpout.txt) do (
if "%%a"=="226 Transfer complete." (
del user_input.csv
)
)
编辑:您必须将BAT调整为FTP脚本的实际输出。可能您需要更改"skip"
命令的FOR
参数。