【发布时间】: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