本文介绍了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与日期变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!