gpt4 book ai didi

file - 根据今天的日期创建文件夹并使用批处理文件将文件复制到新文件夹中

转载 作者:行者123 更新时间:2023-12-04 16:25:05 27 4
gpt4 key购买 nike

我有以下代码,它根据今天的日期创建一个文件夹,并将文件从文件夹移动到新文件夹。我有以下代码:

set date="%date:~7,2%%date:~4,2%%date:~10,4%"
set mydir=%date%
cd "C:\Users\rnan\Desktop\Batch Files\Tess\File History\"
mkdir "C:\Users\rnan\Desktop\Batch Files\Tess\File History\%mydir%"
"C:\Program Files (x86)\WinSCP\WinSCP.com" /command ^
"open ftp://rnan:J13@Files8.cyberlynk.net/tess/" ^
"lcd ""C:\Users\rnan\Desktop\Batch Files\Tess\File History\%mydir%""" ^
"get *.csv>1D" ^
"exit"

此代码创建一个文件夹,但不会将任何文件复制到新创建的文件夹中。文件正在从 FTP 服务器复制到新文件夹。请提出一些复制这些文件的更改。

谢谢!

最佳答案

您的代码总体上是正确的(@Jeff 指出的 date 变量滥用除外)。

您很可能在 ^ 周围有错误的空格。 .

  • ^必须是该行的最后一个字符。你在 ^ 后面好像有空格在线与 lcdget .
  • ^ 后面的行必须以空格开头。您在以下行中没有任何空格。

  • 参见 WinSCP 常见问题 Why are some scripting commands specified on WinSCP command-line in a batch file not executed/failing?

    同样不仅你不应该分配给 date多变的。你甚至不应该用这种方式来格式化时间戳,如 date 的格式。特定于语言环境的变量。见 Creating a file name as a timestamp in a batch job .所以,你最好使用另一种方法。

    WinSCP itself supports date formatting使用其 %TIMESTAMP%句法。

    以下代码修复了 ^ 的问题并使用 WinSCP 可靠地格式化日期:
    set TIMESTAMP_FORMAT=yyyy-mm-dd
    cd "C:\Program Files (x86)\WinSCP"
    for /F "tokens=* USEBACKQ" %%F in (`WinSCP.com /command "echo %%TIMESTAMP#%TIMESTAMP_FORMAT%%%" "exit"`) do set TIMESTAMP=%%F
    set mydir=C:\Users\rnan\Desktop\Batch Files\Tess\File History\%TIMESTAMP%
    mkdir "%mydir%"
    WinSCP.com /command ^
    "open ftp://rnan:J13@Files8.cyberlynk.net/tess/" ^
    "lcd ""%mydir%""" ^
    "get *.csv>1D" ^
    "exit"

    关于file - 根据今天的日期创建文件夹并使用批处理文件将文件复制到新文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43542741/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com