【问题标题】:Batch file that calls another batch fails to copy files调用另一个批处理的批处理文件复制文件失败
【发布时间】:2015-12-15 18:52:53
【问题描述】:

我在设置计算机时使用了一系列批处理文件。我想偷懒,而不是单独运行它们,我想从一个批处理文件中调用它们。我有那个设置,但它没有完全工作。有一个批处理文件我CALL 使用XCOPY 来移动一堆快捷方式和图标,但它不会在调用时复制它们,只有在直接运行时才会复制它们。

我也尝试过使用START,但它不会运行任何批处理文件。

主批处理,\Post Install\Run.bat

Call "Batch\Shortcuts.bat"

Shortcuts.bat、\Post Install\Batch\Shortcuts.bat

@echo off
@echo Copying Icons And Shortcuts
@echo ................................................................................
xcopy /y /r /v "Shortcuts\Kronos.ico" "C:\Alle-Temp\"
@echo ................................................................................
xcopy /y /r /v "Shortcuts\Workday.ico" "C:\Alle-Temp\"
@echo ................................................................................
xcopy /y /r /v "Shortcuts\ADMS (New Windchill).url" "C:\Shortcuts\"
@echo ................................................................................
xcopy /y /r /v "Shortcuts\ADMS Drawing Lookup.url" "C:\Shortcuts\"
@echo ................................................................................
xcopy /y /r /v "Shortcuts\AMMS Web.url" "C:\Shortcuts\"
@echo ................................................................................
xcopy /y /r /v "Shortcuts\As-400.lnk" "C:\Shortcuts\"
@echo ................................................................................
xcopy /y /r /v "Shortcuts\WorkDay @ Work.lnk" "C:\Shortcuts\"
@echo ................................................................................
xcopy /y /r /v "Shortcuts\Kronos @ Work.url" "C:\Shortcuts\"
@echo ................................................................................
xcopy /y /r /v "Shortcuts\MapNetworkDrives - G & Q Drives Only.bat" "C:\Shortcuts\"
@echo ................................................................................
xcopy /y /r /v "Shortcuts\McAfee x64.bat" "C:\Users\EsAdmin\Desktop\"
@echo ................................................................................
pause

【问题讨论】:

  • 为了重现问题,最小批处理文件是多少?例如。我相信所有echos 都不需要。
  • Shortcuts.bat 执行(您会看到 echo 输出)但 xcopy 命令不起作用?您是否尝试过为要复制的图标和快捷方式文件指定完整的绝对路径?
  • 我认为它没有正确看到相对路径。在 run.bat 的顶部放置一个echo %cd%。在你的 shortcuts.bat 文件中做同样的事情。
  • 查看您的示例,这两个批处理文件似乎位于不同的目录中,而快捷方式文件夹位于另一个子文件夹中。但是当您调用shortcuts.bat 时,它会从Run.bat 继承环境,并且run.bat 的当前工作目录是C:\Post Install\,但快捷方式目录位于C:\Post Install\Batch\Shortcuts。因此,要更正此问题,请使用您的 shortcuts.bat 文件中的 PUSHD 和 POPD 命令。 PUSHD %~dp0 在顶部,POPD 在末尾。
  • 如果您想查看实际发生的情况,请删除或注释掉 @echo off 行。

标签: batch-file call xcopy


【解决方案1】:

我相信您的解决方案是:

确保在与所有图标和快捷方式相同的位置运行此批处理文件。

@echo off
echo Copying Icons And Shortcuts
echo ................................................................................
xcopy /y /r /v "Kronos.ico" "C:\Alle-Temp\"
echo ................................................................................
xcopy /y /r /v "Workday.ico" "C:\Alle-Temp\"
echo ................................................................................
xcopy /y /r /v "ADMS (New Windchill).url" "C:\Shortcuts\"
echo ................................................................................
xcopy /y /r /v "ADMS Drawing Lookup.url" "C:\Shortcuts\"
echo ................................................................................
xcopy /y /r /v "AMMS Web.url" "C:\Shortcuts\"
echo ................................................................................
xcopy /y /r /v "As-400.lnk" "C:\Shortcuts\"
echo ................................................................................
xcopy /y /r /v "WorkDay @ Work.lnk" "C:\Shortcuts\"
echo ................................................................................
xcopy /y /r /v "Kronos @ Work.url" "C:\Shortcuts\"
echo ................................................................................
xcopy /y /r /v "MapNetworkDrives - G & Q Drives Only.bat" "C:\Shortcuts\"
echo ................................................................................
xcopy /y /r /v "McAfee x64.bat" "C:\Users\EsAdmin\Desktop\"
echo ................................................................................
pause

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多