summaryrefslogtreecommitdiff
path: root/Master/tlpkg/doc/w32client_advanced.bat
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/doc/w32client_advanced.bat')
-rwxr-xr-xMaster/tlpkg/doc/w32client_advanced.bat60
1 files changed, 60 insertions, 0 deletions
diff --git a/Master/tlpkg/doc/w32client_advanced.bat b/Master/tlpkg/doc/w32client_advanced.bat
new file mode 100755
index 00000000000..cbbd4606b7b
--- /dev/null
+++ b/Master/tlpkg/doc/w32client_advanced.bat
@@ -0,0 +1,60 @@
+@echo off
+rem Wrapper batchfile for Perl script of the same name
+rem both in the root of the TeX Live installation.
+rem Based on code from Tomasz M. Trzeciak.
+rem Public domain.
+
+rem This version has some additional safeguards and
+rem better compatibility with replacement command shells
+rem compared to the regular version.
+
+rem First, check if this is DOS based system
+rem in DOS '^' is just a normal character
+if not ^x==x goto DOS
+
+rem Abort if we are running from UNC path
+if %~d0==\\ goto UNC
+
+rem Localize environment changes
+setlocal enableextensions
+
+set this=%~dp0
+
+rem Break search path into dir list and rebuild w/o tex dirs
+call :rebuildpath ";" "%path:;=" "%"
+
+rem Use TL Perl
+path %this%tlpkg\tlperl\bin;%this%bin\win32;%path%
+set PERL5LIB=%this%tlpkg\tlperl\lib;%this%tlpkg;%this%texmf\scripts\texlive
+
+rem Start Perl script of the same name
+perl "%~dpn0" %*
+rem Give user opportunity to scan output messages
+pause
+goto :eof
+
+rem Subroutine to build search path without tex directories
+rem any dir containing pdftex.exe is considered a tex dir
+:rebuildpath ";" dir list ...
+shift
+rem The first argument (";") serves as a marker to reset the path
+if "%~0"==";" set path=
+rem Finish if no more arguments to process
+if [%1]==[] goto :eof
+rem Continue if tex dir
+if exist "%~1\pdftex.exe" goto :rebuildpath
+rem Add dir to path
+if not defined path (path %~1) else (path %path%;%~1)
+goto :rebuildpath
+
+:UNC
+echo Cannot run from UNC path.
+echo Map network drive to a drive letter and rerun the installer.
+echo You can use pushd/popd commands for temporary mapping.
+pause
+exit /b 1
+
+:DOS
+echo DOS and Windows 9x systems are not supported. Sorry.
+echo Windows 2000 or newer is required.
+pause