对于我的工作,我安装软件并使用批处理文件进行配置;设置文件夹权限,从服务器共享复制配置文件,使其工作等。所有这一切都很好,我一直在使用我从这里得到的东西一段时间没有问题。我必须在多台计算机上进行此操作,有时在链接速度太慢的地方,从服务器共享运行所有内容需要很长时间。
我制作了一个批处理文件,让我可以在网络安装过程或USB之间进行选择,以加快速度。然而,我现在面临等待所有事情从USB完成安装,然后才能继续下一台PC。许多PC都很慢,所以我可以等待10分钟的最佳时间。我希望能够从USB运行批处理文件,然后将软件安装程序和相关文件复制到C:\ Temp(或类似),然后从C:\ Temp启动另一个特定批处理文件(并从那个dir)。最终的结果是我可以插入USB,将初始副本运行到C:\ Temp bat文件,从C:\ Temp调用批处理文件然后安装而不是USB允许我删除USB并继续下一步PC无需等待从USB完成的过程。
我在使用Windows 10的PC上取得了一些成功(我认为7,8等都可以正常工作)但是XP(在我的工作中仍然比你想象的还要多)我删除了USB记忆棒,这个过程被删除了,因为出于某种原因,即使我在一个新窗口中调用C:\ Temp bat安装程序,新窗口仍然保留了它来自USB的事实,那里除非我留下USB,否则它不会完成。当然,这不是我想要的。也许有一种更好的方式我确定,我只需要一个适用于所有XP,7,8等的解决方案。你可以看到,我只是将一些东西复制到C:\ Temp然后选择哪个bat安装程序我当时需要,然后(尝试)并启动从C:\ Temp而不是USB运行的适当的蝙蝠让我继续前进而不必等待。希望有人能提出建议。非常感谢!!
这是从USB复制到C:\ Temp
的球棒if not exist C:\Temp md C:\Temp
echo F| XCOPY %~dp0silentinstall.exe /y C:\Temp
xcopy /herky %~dp0GUIDES C:\Temp\Guides /i
echo 1 -- Standard
echo 2 -- DelR2
echo 3 -- FullWipeInstall
echo;
set /P rmFunc="Enter a choice: "
echo --------------------------------------------------------------------
for %%I in (1 2 3 4 5 x) do if #%rmFunc%==#%%I goto run%%I
goto begin
:run1
echo F| XCOPY %~dp0Standard /y C:\Temp
cd C:\Temp
call cmd /c Standard.bat
exit
:run2
echo F| XCOPY %~dp0DelR2.bat /y C:\Temp
cd C:\Temp
call cmd /c "DelR2.bat"
exit
:run3
echo F| XCOPY %~dp0"FullWipeInstall.bat" /y C:\Temp
cd C:\Temp
call cmd /c "FullWipeInstall.bat"
exit
答案 0 :(得分:1)
你的bat文件驻留在USB上。因此,如果移除USB,它将无法加载退出语句。我怀疑你很幸运它在一些操作系统上工作,因为除了退出之外别无他法。没有测试,可能有几种方法可以解决: 1.用合适的START命令替换这两行,然后退出。见START /?
cd C:\Temp
call cmd /c "FullWipeInstall.bat"
将出口放在通话上,并将出口放在同一行上,如下所示
调用cmd / c" FullWipeInstall.bat" &安培;出口