本文介绍了Windows XP中分批是否存在FTP与日期变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我写一个快批,看是否执行一个exe后文件是否存在。

的文件与YYYYmmDDnumbernumbernumber.xml文件名根据当前日期创建

我如何检查,在开始一个变量的文件?以下是我迄今为止:

 关闭@echo设置数值指明MyDate =%日期:10,4〜%%日期:4,2〜%%日期:7,2〜%如果不存在的ftp://FTPsite/%mydate%*.xml(回声罗)其他(回声酵母)暂停


解决方案

如果你不能用检查FTP服务器上的文件是否存在替换后的参数。相反尝试这一点,以我_

  CLS和放大器;!回声关闭和放大器; SETLOCAL ENABLEDELAYEDEXPANSION
!CLS和放大器;转到:ftp_end
开放MY_FTP_SERVER
用户MY_USER
通MY_PASS
CD MY_REMOTE_DIR
LS。 local.file
再见
:ftp_endFTP -s:0%
设置数值指明MyDate =%日期:10,4〜%%日期:4,2〜%%日期:7,2〜%
键入local.file | FINDSTR / B%数值指明MyDate%|找到名为.xml&放大器;&安培;回声文件是在那里和放大器;&安培;转到:skip_file_is_not_there
回声文件不存在
:skip_file_is_not_there
德尔local.file / Q> NUL

I am writing a quick batch to see if a file exists after executing an exe.

The file is created with a YYYYmmDDnumbernumbernumber.xml file name according to the current date.

How do I check for the file with a variable in the beginning? Here is what I have so far:

@echo off

set mydate=%date:~10,4%%date:~4,2%%date:~7,2%

if not exist "ftp://FTPsite/%mydate%*.xml" (echo nah) else (echo yea)

pause
解决方案

you cannot check existence of file on ftp server with IF.Instead try this after replacing the parameters that starts with MY_ :

!cls&echo off&setlocal ENABLEDELAYEDEXPANSION
!cls&goto :ftp_end
open MY_FTP_SERVER
user MY_USER
pass MY_PASS
cd MY_REMOTE_DIR
ls . local.file
bye
:ftp_end

ftp -s:%0
set mydate=%date:~10,4%%date:~4,2%%date:~7,2%
type local.file | findstr  /B "%mydate%" | find ".xml" && echo FILE IS OUT THERE && goto :skip_file_is_not_there
echo FILE IS NOT THERE
:skip_file_is_not_there
del local.file /q >nul

这篇关于Windows XP中分批是否存在FTP与日期变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 00:05