繁体   English   中英

xcopy在我的批处理文件中不起作用,我不确定为什么吗?

[英]xcopy isn't working in my batch file, and I am not sure why?

第一次海报在这里! 我通常会偷偷摸摸地寻找答案,但是看到我一直对此感到头疼时,我真的想为我的老板做到这一点,我想直接问一下,看看是否有人可以发现我的脚本出了什么问题。

    @echo off
    for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value')do set "dt=%%a"
    set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
    set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"

    set "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%"
    set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%"

    set "new_name=PayCase_%fullstamp%"

    echo datestamp: "%datestamp%"
    echo timestamp: "%timestamp%"
    echo fullstamp: "%fullstamp%"

    move /-y "E:\RFT workspace folder\PayCase_Project_Playground_logs\PayCase_ScriptLog" "%~dp0\Log Archive\%new_name%"

    xcopy /e "%~dp0\Log Archive\%new_name%" "%~dp0\Log Archive\sendFolder"

    pause

    EXIT

脚本的第一部分只是获取今天的日期和时间,并将其设置为一个名为“ new_name”的变量(这不是我的代码,是从某个地方获取的,我忘记了在哪里)。 后一部分将文件夹的内容从一个位置移动到另一位置,然后假定将这些内容复制到驱动器中的另一位置。

有人可以帮我弄清楚为什么我的代码没有将内容复制到我的sendFolder吗?

我唯一看到的是您没有使用所有的开关。 尝试使用开关/s 其次,最重要的是,您正在使用%~dp0错误!

在txt文件中键入此文件并将其另存为批处理文件

Echo %~dp0
Pause

运行它,您将在最后找到一个\\ ,例如,您将拥有一个像C:\\Wherever\\bat\\is\\这样的路径,最后一个已经有一个\\

您已键入此"%~dp0\\Log Archive\\%new_name%" ,这将导致"C:\\Wherever\\bat\\is\\\\Log Archive\\%new_name%"

看到了吗? 轻微的错误可能会使整个事情出错。 因此,尝试添加/ s开关并像这样编辑代码

xcopy /s /e "%~dp0Log Archive\\%new_name%" "%~dp0Log Archive\\sendFolder"

也请关注@JosefZ评论

问候,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM