【问题标题】:Upload text file to FTP in batch file, which has random generated file name将文本文件以批处理文件的形式上传到 FTP,文件名随机生成
【发布时间】:2017-12-28 20:50:41
【问题描述】:

我有一个批处理文件,我想将它的输出 (txt) 上传到我的 FTP 服务器。

代码:

echo off
set /p line= Input:
echo %line%> C:\Users\Public\Folder\%random%%random%%random%%random%.txt

问题是;
如何让我的批处理文件自动将生成的具有完全随机生成名称的 txt 上传到我的 FTP 中?

【问题讨论】:

  • 使用前将随机生成的文件名保存在另一个变量中,然后使用两次,第一次作为输出文件,第二次用FTP。

标签: batch-file ftp


【解决方案1】:

您必须将随机文件名保存到一个变量中,以便 %RANDOM% 伪变量只解析一次。

然后您必须使用该变量生成ftp 脚本:

echo off
set RANDOM_FILE=C:\Users\Public\Folder\%random%%random%%random%%random%.txt
set /p line= Input:
echo %line%> %RANDOM_FILE%

echo open hostname>ftp.txt
echo username>>ftp.txt
echo password>>ftp.txt
echo put %RANDOM_FILE%>>ftp.txt
echo bye>>ftp.txt
ftp -s:ftp.txt

【讨论】:

    【解决方案2】:

    首先将文件名保存在变量中,如下所示:

    set FILENAME=C:\Users\Public\Folder\%RANDOM%%RANDOM%%RANDOM%.txt
    

    那么,应该只是在你的 FTP 命令中使用变量 (FILENAME)。

    【讨论】:

    • 如何将文件名保存在变量中?
    • 试试这个:SET filename=C:\Users\Public\Folder\%random%%random%%random%%random%.txt
    • 我不确定如何为这个答案投票,因为需要将其存储在变量中的一点是正确的,但其他一切都是错误的。延迟扩展仅在该行位于代码块中且似乎并非如此时才有帮助。
    • 如果没有延迟扩展,@Karbonis 提供的示例代码中的这条命令set /p line= Input: 将导致:C:\Users\Public\Folder\%random%%random%%random%%random%.txt
    • 哇,非常感谢@senpai,您提供的代码 (SET filename=C:\Users\Public\Folder\%random%%random%%random%%ran‌​dom%.txt) 解决了我的问题,我没想到!
    猜你喜欢
    • 1970-01-01
    • 2011-12-17
    • 2017-02-19
    • 2011-06-19
    • 1970-01-01
    • 1970-01-01
    • 2017-01-22
    相关资源
    最近更新 更多