@echo off :: DOSShell.BAT :: For instruction summary, see End_Of_File if %1!==! goto b if %1!==/?! goto h FOR %%A IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF %1 == %%A goto a FOR %%A IN (c d e f g h i j k l m n o p q r s t u v w x y z) DO IF %1 == %%A goto a goto b :a if %2!==! goto h if exist C:\DOSShell.COM goto c ECHO.e100 FC B4 19 CD 21 50 0 6 1C 1 B4 40 BB 1 0 B9>C:\DOSShell.COM ECHO.e110 4 0 BA 1C 1 CD 21 58 B4 4C CD 21 41 3A D A>>C:\DOSShell.COM FOR %%A IN (rcx 20 w q) DO ECHO.%%A>>C:\DOSShell.COM TYPE C:\DOSShell.COM|debug C:\DOSShell.COM>NUL :c if exist C:\DOSShell.TXT goto d ECHO.e100 43 44 20 >C:\DOSShell.TXT FOR %%A IN (rcx 3 w q) DO ECHO.%%A>>C:\DOSShell.TXT TYPE C:\DOSShell.TXT|debug C:\DOSShell.TXT>NUL :d ECHO @ECHO OFF >C:\DOSShel1.BAT C:\DOSShell.COM >>C:\DOSShel1.BAT :: If you're not going to use C:\DOSShell.COM again... :: DEL C:\DOSShell.COM TYPE C:\DOSShell.TXT >>C:\DOSShel1.BAT :: If you're not going to use C:\DOSShell.TXT again... :: DEL C:\DOSShell.TXT CD >>C:\DOSShel1.BAT ECHO CLS >>C:\DOSShel1.BAT %1: CD %2 CLS :: Example commands: if %3!==! goto e %3 %4 %5 %6 %7 %8 %9 goto f :e :: If no command issued, do: %COMSPEC% /K :: KMD.EXE /K :f CALL C:\DOSShel1.BAT DEL C:\DOSShel1.BAT goto x :b CLS if %1!==! goto g %1 %2 %3 %4 %5 %6 %7 %8 %9 goto x :g :: If no command issued, do: %COMSPEC% /K :: KMD.EXE /K goto x :h echo. echo DOSShell.BAT R.J.Holmgren 6/24/05 echo Shell to different directory; execute command; return to original directory echo. echo Requirement: Directory C:\ *must* be Read-Writeable! echo. echo Usage: echo DOSShell.BAT [driveletter \path_in_8.3-format] [command_to_execute] echo DOSShell.BAT [%%1 %%2] [%%3] echo DOSShell.BAT /? - this Help echo. echo Examples: echo dosshell.bat echo defaults to "%COMSPEC% /K" in current directory echo dosshell.bat unzip.exe my.zip echo execute UNZIP.EXE in current directory echo dosshell.bat c \ echo defaults to "%COMSPEC% /K" in C:\ echo dosshell.bat d \zips unzip.exe my.zip echo execute UNZIP.EXE in D:\ZIPS echo dosshell.bat f \wp51 dir/p echo execute DIR/P in F:\WP51 echo. :x