我试图下载批处理文件中使用wget文件,我不想当文件都准备好存在要下载的文件,并没有改变,因此我使用-N
还我下载从我个人的FTP文件服务器,所以我想隐藏我的用户名和密码的细节,所以我决定躲输出使用>nul 2>&1
,所以我的批处理文件:
@echo off
blah blah
.....
echo please wait...
wget -N ftp://XXXXXXXXXX@YYYYYYY.com/file.jpg >nul 2>&1
现在有2个问题:
窗口标题仍然会显示我的用户名和密码,我怎么能隐藏标题或更改标题?
用户不会知道,如果操作成功(下载已完成)或失败(没有互联网或没有文件存在),或者没有下载,因为该文件已经存在,我不知道如果我可以做3 if语句
IF file was downloaded then echo file download IF file wasn't downloaded then echo error IF file wasn't downloaded because was the same then echo file didnt change
我同意PA,如果该文件是敏感的则躲在控制台输出密码在安全方面不会做太大。 然而,回答OP的问题:
1.标题命令能够改变当前窗口的标题的。
title My CMD Window
如果您遇到的问题是,对于wget命令的弹出窗口快到了和显示的用户名和密码,在那里,你可以使用以下。 我很抱歉,我不熟悉的wget所以我不知道它的行为,希望这可以帮助。
start "My WGET Window" wget -N ftp://XXXXXXXXXX@YYYYYYY.com/file.jpg >nul 2>&1
2.一对夫妇之前和之后的检查将是有益的。 首先,检查文件是否存在,甚至不与理会的wget如果它已经存在(从您不想覆盖文件您的文章的措辞假设)。
if exist file.jpg echo File already exists!&pause&goto :EOF
:: run wget here
if exist file.jpg (echo File download successful.) else (echo File download UNSUCCESSFUL.)
我们不需要检查所有三个条件的文件或者手之前就存在(在这种情况下,一批出口),或者它没有在我们的测试成功下载该情况。 请注意,这将是难以检查的部分文件。
所以,把他们放在一起:
@echo off
blah blah
.....
title My CMD Window
if exist file.jpg echo File already exists!&pause&goto :EOF
echo please wait...
start "My WGET Window" wget -N ftp://XXXXXXXXXX@YYYYYYY.com/file.jpg >nul 2>&1
if exist file.jpg (echo File download successful.) else (echo File download UNSUCCESSFUL.)
wget的已建成开关,将防止下载该文件已经存在。 它具有开关做你最想那么你就不必把“如果”语句在批处理文件在所有。
wget的拥有广泛的交换机列表。 实际上它的开发已经想到刚才的一切的。 阅读这些文档,如果我还记得他们大约150-200页。