通过网络复制 .txt 并添加日期

通过网络复制 .txt 并添加日期

我正在尝试获取一个 .txt 文件并通过网络将其移动xcopy

这是我迄今为止的代码:

@ECHO off
XCOPY /y pushd \\Oafrpnbtcsi01\Test_Systemplatz\Systemplatz_SLOT_1_Fail.txt

rem get date, make if file name friendly
FOR /F "tokens=1-4 delims=/ " %%i in ('date/t') do set d=%%i-%%j-%%k-%%l

set MBD=Systemplatz_SLOT_1_FailB%d%DN.txt
ren Systemplatz_SLOT_1_Fail.txt %MBD%
move *.txt F:\Public\Logfiles\Systemplatz\Test\02\Systemplatz Slot 1
@ECHO on

我还想将日期添加到文本文件的名称中。

到目前为止它还没有起作用,所以我肯定我做错了什么。如果有更好的方法,请解释一下。

答案1

我发现两个问题。首先,有这样一行:

XCOPY /y pushd \\Oafrpnbtcsi01\Test_Systemplatz\Systemplatz_SLOT_1_Fail.txt

pushd本身就是一个命令;它不能作为参数传递给xcopyxcopy需要两个参数,一个源和一个目标;看起来你只有一个。我猜——但我不确定——你想将当前目录移动到\\Oafrpnbtcsi01\Test_Systemplatz\,其中包含你要使用的文件。为此,只需将上面的行替换为以下内容:

pushd \\Oafrpnbtcsi01\Test_Systemplatz\

第二个问题出现在这一行:

move *.txt F:\Public\Logfiles\Systemplatz\Test\02\Systemplatz Slot 1

路径中的一个文件夹似乎名为Systemplatz Slot 1,但和move看起来像是不同的参数,因为其中有空格。您应该将整个目标路径括在引号中,如下所示:Slot1

move *.txt "F:\Public\Logfiles\Systemplatz\Test\02\Systemplatz Slot 1"

最后,您可能希望popd在脚本末尾使用 来反转pushd,将当前目录返回到其原始位置。

相关内容