我有一个批处理文件,它会检查CONFIG目录是否存在,以判断用户是否已安装.NET Framework。
如果该目录不存在,则表示用户未安装.NET Framework。批处理文件将继续安装.NET Framework。然而,由于.NET Framework需要在安装我的拨号器的设置之前安装,所以我添加了一个PAUSE语句,让用户在框架安装完成后按任意键继续。
但是,我们的客户不喜欢这个方法,因为他们的一些客户无法理解并在框架安装完成之前按键。这导致设置失败,因为首先没有安装框架。
我使用等待用户输入的PAUSE命令。然而,是否有一种方法可以自动等待框架完成,而不使用PAUSE命令?
非常感谢您的建议。
如果该目录不存在,则表示用户未安装.NET Framework。批处理文件将继续安装.NET Framework。然而,由于.NET Framework需要在安装我的拨号器的设置之前安装,所以我添加了一个PAUSE语句,让用户在框架安装完成后按任意键继续。
但是,我们的客户不喜欢这个方法,因为他们的一些客户无法理解并在框架安装完成之前按键。这导致设置失败,因为首先没有安装框架。
我使用等待用户输入的PAUSE命令。然而,是否有一种方法可以自动等待框架完成,而不使用PAUSE命令?
非常感谢您的建议。
@ECHO OFF
REM Copy the configuration file
copy config.xml "%AppData%\DataLinks.xml"
REM Search for the CONFIG file, if this doesn't exit then the user doesn't have the .Net framework 2.0
SET FileName=%windir%\Microsoft.NET\Framework\v2.0.50727\CONFIG
IF EXIST %FileName% GOTO INSTALL_DIALER
ECHO.You currently do not have the Microsoft(c) .NET Framework 2.0 installed.
ECHO.This is required by the setup program for MyApplication.
ECHO.
ECHO.The Microsoft(c) .NET Framework 2.0 will now be installed on you system.
ECHO.After completion setup will continue to install MyApplication on your system.
ECHO.
REM Install the .Net framework and wait for the user to input before install the dialer
PAUSE
ECHO Installing... Please wait...
SET FileName =
Start .\NetFx20SP2_x86.exe
ECHO Once the .Net Framework has completed. Press any key to continue to install the dialer.
PAUSE
Start .\setup.exe
ECHO ON
EXIT
REM .Net framework has been skipped contine to install the dialer.
:INSTALL_DIALER
ECHO *** Skiped Dotnet Framework 2.0.50727 ***
ECHO Installing... Please wait...
SET FileName=
Start .\setup.exe
ECHO ON
EXIT
echo.foo (spaces) >foo.txt
和echo bar (spaces) >bar.txt
都可以正确输出前导空格。 - Camilo Martinecho
部分;现在已经太久在 PowerShell 的世界里了,我忘记了一些东西。所以我想唯一需要使用echo.
的地方是当你需要一个空行或输出一个不在你控制之下的变量时。至于::
,那似乎早在很久以前就被修复了,但有时在()
中使用它们时可能会遇到麻烦(例如在循环或条件语句中)。虽然我无法在 Win 2k 上再次重现,但那可能是 NT 4 的问题。 - Joey