日期:2014-05-17  浏览次数:20816 次

再一次请求批处理高手解决一个问题(续)
上几天版主基本上帮我解决了这个问题:
当电脑D盘的a文件夹内的程序1.exe的的修改日期经过最新修改之后,系统能自动生成一个以1-(最新修改日期).txt的文档,并自动把改txt文档发送到ftp (ftp://1.1.1.1 账号123 密码456 ftp是在另外一台电脑上)上的b文件夹里,而我就不用登陆电脑的D盘可以直接去另外一台电脑的ftp上就可以查看最新的修改日期。

ps:如果想同时想检测同一个文件夹三个程序呢 例如1.exe 2.exe 3.exe

一点小分,请教论坛的批处理高手了,最好就是一个BAT的文件。小弟先在这里谢谢各位啦

——————————————————————

引用 1 楼 ljc007 的回复:
test.bat


@echo off
set "MonitorList=1.exe 2.exe 3.exe"
cd /d "D:\a\"
set ftpUser=123
set ftpPass=456
set ftpIP=1.1.1.1
set ftpFolder=/b
set ftpFile=%temp%\TempFTP.txt
>"%ftpFile%" (
  echo,%ftpUser%
  echo,%ftpPass%
  echo cd "%ftpFolder%"
  echo bin
)
setlocal enabledelayedexpansion
for %%a in (%MonitorList%) do (
  set filename=%%~ta
  set filename=%%~na-!filename:~0,10!.txt
  if not exist "!filename!" (
  >!filename! type nul
  >>"%ftpFile%" echo put "%%~dpa!filename!"
  )
)
>>"%ftpFile%" echo bye
start ftp -v -i -s:"%ftpFile%" %ftpIP%


--------------------分割线----------------------------------------

但是在不同服务器实验发现了一些问题,有些服务器完全能实现所需要的效果,不过有些就不行,贴出来请高手多费费心,帮忙看看。

运行以上指令之后,窗口出现这样的提示:
User <1.1.1.1:<none>>:

ftp> cd "/b"
ftp> bin
ftp> put "1-2010-07-26.txt"
(注意:运行到这里就不继续运行下去了,好像是假死状态,关掉窗口,立刻又出现下一行命令 ftp> put "2-2010-07-26.txt" 并且会弹出提示你是否立即结束,如果点击立即结束,剩下的命令就没有执行完毕,如果点击取消后,再一次关闭窗口,立刻又出现下一行命令ftp> put "3-2010-07-26.txt),并且弹出提示你是否立即结束窗口

我想要的效果就是点击运行指令之后,能很快的自己识别日期并自动生成txt文件


上一个贴是在这里,不明白的朋友,可以看看
http://topic.csdn.net/u/20100725/22/74d4f1ef-21aa-446e-a028-a8784c055ef7.html?8704

------解决方案--------------------
ftp> put "1-2010-07-26.txt"
这一行说明你的路径错了,检查一下:
cd /d "D:\a\"
------解决方案--------------------
还是你啊,我继续帮你顶!学习