我有一个批处理文件,用于创建从WinSCP运行的脚本文件:
@ECHO OFF
SET /P password="Enter root password: "
ECHO.
cd HSBC
SET /P dt="Enter DATE (yyyy-mm-dd) : "
ECHO option batch abort>>myscript.txt
ECHO option confirm off>>myscript.txt
ECHO open %password%>>myscript.txt
ECHO cd /jbc/T24/UKMPE/bnk/bnk.data/eb/"&HOLD&">>myscript.txt
ECHO get * >%dt% 07:00:00, <%dt%08:00:00>>myscript.txt
ECHO exit>>myscript.txt
c:\"program files"\winscp\winscp.com /script=myscript.txt
del myscript.txt
ECHO.
ECHO.
问题是包含ECHO get * >%dt% 07:00:00, <%dt%08:00:00>>myscript.txt
它应该是在特定日期和时间之间获取所有文件的命令。
如果有人可以重新编写一行来获取某个日期和时间之间的所有文件,我们将不胜感激。
答案 0 :(得分:0)
你没有真正说明,你面临的问题是什么。所以只能猜测,问题是,你的语法错误:
* >2014-09-22 07:00:00 <2014-09-22 08:00
>
和<
之前的空格是可选的)get
command:包含空格的蒙版必须用双引号括起来,因此它被解释为一个蒙版:get "* >2014-09-22 07:00:00 <2014-09-22 08:00"
echo
命令:>
和<
被解释为输入输出重定向。实际上通过上面的双引号解决了什么。如果没有双引号,您可以使用^
。完整的命令是:
ECHO get "* >%dt% 07:00:00 <%dt% 08:00:00" >>myscript.txt
旁注:open %password%
看起来也不正确。 open
command以session URL为参数,而不仅仅是密码。