【问题标题】:Batch file, command copy can't find directory批处理文件,命令副本找不到目录
【发布时间】:2014-06-05 20:49:48
【问题描述】:

我有密码

:instalation1
cls
echo.
echo ==============
echo = III        =
echo ==============
echo.
if %place%==1 (
    md C:\Users\%username%\Desktop\SBI
    set folder=C:\Users\%username%\Desktop\SBI
    ) else (
            md \SBI
        set folder=\SBI
        )
cd %folder%
timeout>nul 2

:instalation 2
cls
echo.
echo ==============
echo = IIIIII     =
echo ==============
echo.
copy \data\SBI.bat %folder%\
timeout>nul 2

但是当我运行它时,命令副本说“系统找不到那个目录” (文件夹“数据”与批处理文件在同一目录中)

我做错了什么?

【问题讨论】:

    标签: batch-file copy


    【解决方案1】:

    确保您与正在运行的批处理文件位于同一驱动器上。

    如果您在 E: 驱动器上并且运行 C:\data\batchfile 或 C:\data 在路径上,则它将从 C: 运行批处理文件,但工作目录在 E: 上执行的目的,所以 E:\data 不存在。作为测试,在复制之前添加一个对 CD 的调用,以便为您提供当前驱动器。

    这只是一个测试,看看你是否在你期望的驱动器上。

    :instalation 2
    cls
    echo.
    echo ==============
    echo = IIIIII     =
    echo ==============
    echo.
    cd 
    copy \data\SBI.bat %folder%\
    timeout>nul 2enter code here
    

    【讨论】:

    • 我昨天得到了答案芦荟。当我输入 xcopy \data\... 计算机正在考虑这个 C:\data\... 如果我想从文件夹数据中复制某些内容,并且数据与批处理文件位于同一目录中,命令应该看起来像这样 xcopy数据\...
    【解决方案2】:
    copy \data\SBI.bat %folder%\
    

    您使用绝对路径 (:\data\sbi.bat)。

    改为使用相对路径:

    copy data\SBI.bat %folder%\
    

    也可以使用cd 更改驱动器,使用

    cd /d %folder%
    

    【讨论】:

    • 我会考虑在data 之前添加%~dp0,以确保它始终选择正确的路径,而不管CWD。​​span>
    猜你喜欢
    • 2020-08-10
    • 2013-07-27
    • 2019-11-15
    • 2013-04-11
    • 2012-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-21
    相关资源
    最近更新 更多