Q107158: MS-DOS Stacker Conversion CONVERT.BAT and GETPATH.BAT Files
Article: Q107158
Product(s): Microsoft Disk Operating System
Version(s): MS-DOS:6.2
Operating System(s):
Keyword(s):
Last Modified: 23-NOV-1999
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft MS-DOS operating system version 6.2
-------------------------------------------------------------------------------
SUMMARY
=======
This article contains text listings of the "MS-DOS 6.2 Conversion Disk for Users
of Stacker" CONVERT.BAT and GETPATH.BAT files.
MORE INFORMATION
================
-----------
CONVERT.BAT
-----------
@echo off
if "%1"=="/?" goto givehelp
if "%1"=="?" goto givehelp
if "%1"=="-?" goto givehelp
if ""=="%1" goto findit
if ""=="%2" goto stacdir
if not exist %2 goto Invalid_args
goto signon
REM if Stacker is in default location, handle automatically.
:stacdir
if exist c:\stacker\check.exe CONVERT %1 c:\stacker\check.exe
if exist c:\stacker\scheck.exe CONVERT %1 c:\stacker\scheck.exe
REM else search the path...
echo Searching for your Stacker directory...
call getpath check.exe
if "%TARGET%"=="" call getpath scheck.exe
if "%TARGET%"=="" goto cantfindstacker
CONVERT %1 %TARGET%
:findit
REM Check to ensure we have enough environment space for a full path
(80 chars)
set TEST1=----------------------------------------
set TEST2=----------------------------------------
if not "%TEST1%"=="----------------------------------------" goto smallenv
if not "%TEST2%"=="----------------------------------------" goto smallenv
set TEST1=
set TEST2=
if "%temp%" == "" set temp=c:\
rem if temp is set to non existent dir, point to root of c.
if not exist %temp%\NUL set temp=c:\
REM Confirm that CONVERT is in the working directory.
if not exist .\allstack.exe goto notroot
if not exist .\convert.bat goto notroot
if not exist .\getpath.bat goto notroot
if not exist .\dblspace.hlp goto notroot
if not exist .\dblspace.exe goto notroot
if not exist .\convert.txt goto notroot
echo Searching for the directory that contains your MS-DOS files...
call getpath dblspace.exe
if "%TARGET%"=="" goto nodblspace
CONVERT %TARGET%
:signon
if not exist %1 goto Invalid_args
call getpath dblspace.com
if "%TARGET%" == "" goto notstac31
echo To convert your Stacker 3.1 drives to DoubleSpace, follow the
procedure
echo in the README.TXT file, which is located in the directory that
contains
echo your MS-DOS files.
goto exitprogram
:notstac31
cls
echo Welcome to the MS-DOS Stacker conversion program.
echo.
echo This program copies an updated version of the DBLSPACE.EXE file
echo to your hard disk and checks your drive(s) for errors. Then
echo it runs the updated DoubleSpace program to convert your Stacker
echo drive(s) to DoubleSpace format.
echo.
echo NOTE: The conversion process can take several hours.
echo.
:readdocs
echo The CONVERT.TXT file contains a detailed procedure for running
this program.
echo ** 4DOS/NDOS Users - See CONVERT.TXT for special instructions. **
echo.
choice /cync /n "Do you want to read the CONVERT.TXT file now
[Yes,No,Cancel]?"
:displayfile
if errorlevel 3 goto cancelexit
if errorlevel 2 goto skipdocs
more < convert.txt
echo.
choice /cync /n "Would you like to read CONVERT.TXT again [Yes,No,Cancel]?"
goto displayfile
:skipdocs
CLS
echo.
echo Updating the DBLSPACE.EXE and DBLSPACE.HLP files...
attrib -r -h -s %1 > nul
call getpath dblspace.hlp
if not "%target%" == "" copy dblspace.hlp %target% > nul
copy dblspace.exe %1 > nul
cls
echo.
echo Now running the SCHECK or CHECK programs and the SCANDISK program
echo to check your drive(s) for errors.
echo.
echo DoubleSpace Setup will later warn you that you need to run SCHECK
echo or CHECK before converting Stacker drives to DoubleSpace. Because
echo this program is doing that now, you can ignore the warning.
echo.
pause
allstack %2 /F #c:
if errorlevel 1 goto fixerrors
SCANDISK /ALL /CHECKONLY /NOSUMMARY /SURFACE
if errorlevel 1 goto fixerrors
cls
echo.
echo DoubleSpace Setup will now convert your Stacker drives to DoubleSpace
echo format. This will take several hours.
echo.
choice /n "Do you want to convert your Stacker drive(s) now [Yes,No]?"
if errorlevel 2 goto userabort
cls
echo.
echo Press ENTER at the DoubleSpace Setup Welcome screen to begin
echo converting your Stacker drives.
echo.
echo Loading DoubleSpace Setup...
choice /ty,5 /n >nul
%1
goto exitprogram
:fixerrors
echo.
Echo The MS-DOS Stacker conversion program cannot continue
echo because your drive(s) still contain disk errors.
echo.
echo Before converting your drives, you must fix all disk errors.
echo For information about fixing disk errors, see the MS-DOS 6
echo User's Guide and your Stacker documentation. After fixing
echo the errors, run CONVERT again.
echo.
goto exitprogram
:nodblspace
Echo The MS-DOS Stacker conversion program cannot continue
echo because it could not find your copy of the DBLSPACE.EXE file.
echo The DBLSPACE.EXE should be located in the directory that
echo contains your MS-DOS files.
echo.
echo Add your MS-DOS directory to your search path, and then run
echo CONVERT again. (For information about changing your search path,
echo type HELP PATH at the command prompt.)
goto exitprogram
:Invalid_args
Echo.
Echo The MS-DOS Stacker conversion program cannot continue
echo because the CONVERT command included an invalid argument.
echo.
echo To run the Stacker conversion program, type CONVERT at the
echo command prompt without any arguments, and then press ENTER.
echo.
goto exitprogram
:cantfindstacker
Echo.
Echo The MS-DOS Stacker conversion program cannot continue
echo because it cannot find the Stacker CHECK.EXE or SCHECK.EXE
echo programs.
echo.
echo Add the directory that contains your Stacker files to your
echo search path, and then run CONVERT again. Either the CHECK.EXE
echo or the SCHECK.EXE file must be in your Stacker directory when
echo you run CONVERT. (For information about changing your search path,
echo type HELP PATH at the command prompt.)
echo.
goto exitprogram
:smallenv
set TEST1=
set TEST2=
Echo.
Echo The MS-DOS Stacker conversion program cannot continue
Echo because there is not enough environment space.
echo.
Echo Use the SET command to examine your environment, and to
echo remove any unnecessary environment variables.
echo.
goto exitprogram
:notroot
Echo.
Echo The MS-DOS Stacker conversion program cannot continue
Echo because it cannot find one of its component files.
echo.
Echo Change to the drive and directory that contains the
echo CONVERT.BAT file, and then run CONVERT again. For example,
echo if the MS-DOS Stacker conversion disk is in drive B,
echo you would type the following:
echo.
echo B:
echo CONVERT
echo.
goto exitprogram
:userabort
echo.
echo The Stacker conversion process has been canceled.
echo.
echo To convert your Stacker drives, run CONVERT again. When
echo CONVERT displays the question "Do you want to convert
echo your Stacker drive(s) now?" type Y.
echo.
goto exitprogram
:givehelp
echo The CONVERT program converts your Stacker drives to DoubleSpace
echo format. When the conversion process is complete, all your Stacker
echo drives will be DoubleSpace drives.
echo.
echo CONVERT replaces the DBLSPACE.EXE file in your MS-DOS directory
echo with an updated version of DBLSPACE.EXE. After CONVERT checks
echo your drive(s) for errors, it runs the updated DoubleSpace program
echo to convert all your Stacker drives.
echo.
echo To convert your Stacker drives to DoubleSpace drives, type
echo CONVERT at the command prompt without any arguments, and then
echo press ENTER.
goto exitprogram
:cancelexit
echo.
echo The MS-DOS Stacker conversion process has been canceled.
echo To convert your Stacker drives to DoubleSpace drives,
echo run the CONVERT program again.
echo.
:exitprogram
set TARGET=
-----------
GETPATH.BAT
-----------
@echo off
rem
rem GETPATH -- Searches for a (wildcarded if you like) file along the path
rem sets the environment variable "TARGET" to a full
specification
rem for the file
rem
rem format: GETPATH filename.ext
rem
rem return: %TARGET% == full specification, or ""
rem
if "%1"=="" goto help
set TARGET=
if exist zz.bat del zz.bat
rem if exist %1 goto localdir --don't check for a local copy of the
file!
echo @ECHO OFF >zz.bat
echo; >>zz.bat
echo if "%%1"=="" goto loop >>zz.bat
echo; >>zz.bat
echo if not "%%START%%"=="TRUE" goto end >>zz.bat
echo if exist %%1\%1 set TARGET=%%1\%1 >>zz.bat
echo if not "%%TARGET%%"=="" set START=FALSE >>zz.bat
echo; >>zz.bat
echo goto end >>zz.bat
echo; >>zz.bat
echo :loop >>zz.bat
echo set START=TRUE>>zz.bat
echo for %%%%f in (%%PATH%%) do call zz %%%%f>>zz.bat
echo set START=>>zz.bat
echo; >>zz.bat
echo :end >>zz.bat
echo; >>zz.bat
call zz.bat
del zz.bat
goto end
:localdir
set TARGET=%1
goto end
:two
echo PARAM %1
:help
echo format: GETPATH filename.ext
echo;
echo examine the environment variable TARGET= after running getpath.
echo;
goto end
:end
Additional query words: 6.20
======================================================================
Keywords :
Technology : kbMSDOSSearch kbMSDOS620
Version : MS-DOS:6.2
=============================================================================
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.
Copyright Microsoft Corporation 1986-2002.