Bis jetzt habe ich keine Lösung für dieses Problem gefunden!
Bei der Definition einiger BAT-Skripts gibt es nur eine Problemumgehung .
Mit meinem Skript sieht die Lösung für Ihr Problem so aus
call INIT-TRAMEX.bat %assign-sysout% FILE.SYSOUT.TXT %w% a lot of %w% text here somecmd <%sysout%
In allen Fällen ist die direkte Indirektion jedoch nicht möglich.
INIT-TRAMEX.bat
Datei definiert %ASSIGN-SYSOUT%
und %W%
Variablen
::****************************************************************************** ::* INIT-TRAMEX.bat ::****************************************************************************** @echo OFF set scriptdir=c:\Scripts set ASSIGN-SYSOUT=call %scriptdir%\AssignSysout.bat set WRITE-TEXT=call %scriptdir%\WriteText.bat set W=call %scriptdir%\WriteText.bat
ASSIGN-SYSOUT
Skript definiert %sysout%
Variable und erstellt eine leere Datei. Es enthält folgende Zeilen
set sysout=%1 @echo.>%sysout% del %sysout%
WRITE-TEXT
Skript enthält folgende Zeilen
IF "%1"=="" goto line echo %* >>%sysout% goto quit :line echo. >>%sysout% :quit
Mit diesen Tipps ist das DOS-Skript besser lesbar.