Ausgabefehler DoUpdate.cmd

Ausgabefehler DoUpdate.cmd

Postby aker » 24.11.2013, 20:25

Beim Aufsetzen eines Rechners mithilfe von wsusou (Version 8.8+ (r538)), ist mir folgendes Fehlverhalten aufgefallen:
Die Ausgabe in der cmd war folgende (Ausschnitte)
Medium build date: 22.11.2013
Medium supports Microsoft Windows (w61 x86 glb)
Checking Windows Service Pack version...
Installing most recent Windows Service Pack...
24.11.2013 19:49:32,69 - Info: Installing most recent Windows Service Pack for Windows Vista /
Installing update 1 of 1...
Installing ..\w61\glb\windows6.1-KB976932-X86.exe...


Analyse:
Das Problem ist folgende Zeile:
Code: Select all
echo %DATE% %TIME% - Info: Installing most recent Service Pack for Windows Vista / 7>>%UPDATE_LOGFILE%

Da die "7" alleine steht, interpretiert Windows sie so, dass die 7 vorgibt, wie die Ausgabe in die Log-Datei erfolgen soll (stdout, stderr...).
Ein Kommando
Code: Select all
echo Hallo / Hallo 2>>log.txt
produziert eine leere Log-Datei und die Ausgabe
Hallo / Hallo
.
Der Code
Code: Select all
echo Hallo / Hallo2>>log.txt
resultiert jedoch im gewünschten Ergebnis: keine Ausgabe und
Hallo / Hallo2
in der Log-Datei.

Viele Grüße
Last edited by aker on 24.11.2013, 21:35, edited 2 times in total.
Reason: Fehleranalyse
Wer Rechtschreibfehler findet, darf sie behalten oder an den Meistbietenden versteigern. / Everybody finding a misspelling is allowed to keep or sell it.
aker

WSUS Offline Update „Community Edition“
https://gitlab.com/wsusoffline/wsusoffline/-/releases
aker
 
Posts: 3999
Joined: 02.03.2011, 15:32

Re: Ausgabefehler DoUpdate.cmd

Postby boco » 24.11.2013, 23:46

Da fehlt das Escape-Zeichen.

Code: Select all
echo %DATE% %TIME% - Info: Installing most recent Service Pack for Windows Vista / ^7>>%UPDATE_LOGFILE%


Das "Dächlein" vor der 7 bewirkt Wunder.
Microsoft update catalog: http://catalog.update.microsoft.com/v7/site/
Windows Install media download: https://support.microsoft.com/en-us/help/15088/windows-create-installation-media
boco
 
Posts: 2398
Joined: 24.11.2009, 17:00
Location: Germany

Re: Ausgabefehler DoUpdate.cmd

Postby Matjes » 25.11.2013, 09:27

Also ich war über die Wirkung von " 7>>" erstaunt. Daraufhin hab ich ein Test-cmd erstellt:

Code: Select all
cd /D "%~dp0"

set UPDATE_LOGFILE=%~dp0\x.log
if exist %UPDATE_LOGFILE% echo.>>%UPDATE_LOGFILE%

echo Test Anf>>%UPDATE_LOGFILE%
echo %DATE% %TIME% - Test 0>>%UPDATE_LOGFILE%
(echo %DATE% %TIME% - Test 0)>>%UPDATE_LOGFILE%
echo %DATE% %TIME% - Test 1>>%UPDATE_LOGFILE%
(echo %DATE% %TIME% - Test 1)>>%UPDATE_LOGFILE%
echo %DATE% %TIME% - Test 2>>%UPDATE_LOGFILE%
(echo %DATE% %TIME% - Test 2)>>%UPDATE_LOGFILE%
echo %DATE% %TIME% - Test 3>>%UPDATE_LOGFILE%
(echo %DATE% %TIME% - Test 3)>>%UPDATE_LOGFILE%
echo %DATE% %TIME% - Test 4>>%UPDATE_LOGFILE%
(echo %DATE% %TIME% - Test 4)>>%UPDATE_LOGFILE%
echo %DATE% %TIME% - Test 5>>%UPDATE_LOGFILE%
(echo %DATE% %TIME% - Test 5)>>%UPDATE_LOGFILE%
echo %DATE% %TIME% - Test 6>>%UPDATE_LOGFILE%
(echo %DATE% %TIME% - Test 6)>>%UPDATE_LOGFILE%
echo %DATE% %TIME% - Test 7>>%UPDATE_LOGFILE%
(echo %DATE% %TIME% - Test 7)>>%UPDATE_LOGFILE%
echo %DATE% %TIME% - Test 8>>%UPDATE_LOGFILE%
(echo %DATE% %TIME% - Test 8)>>%UPDATE_LOGFILE%
echo %DATE% %TIME% - Test 9>>%UPDATE_LOGFILE%
(echo %DATE% %TIME% - Test 9)>>%UPDATE_LOGFILE%
echo %DATE% %TIME% - Test 10>>%UPDATE_LOGFILE%
(echo %DATE% %TIME% - Test 10)>>%UPDATE_LOGFILE%
echo %DATE% %TIME% - Test 11>>%UPDATE_LOGFILE%
(echo %DATE% %TIME% - Test 11)>>%UPDATE_LOGFILE%
echo Test End>>%UPDATE_LOGFILE%


Das resultierende Logfile:

Code: Select all
Test Anf
25.11.2013  8:47:58,99 - Test 0
25.11.2013  8:47:59,01 - Test
25.11.2013  8:47:59,01 - Test 1
25.11.2013  8:47:59,02 - Test 2
25.11.2013  8:47:59,04 - Test 3
25.11.2013  8:47:59,04 - Test 4
25.11.2013  8:47:59,05 - Test 5
25.11.2013  8:47:59,07 - Test 6
25.11.2013  8:47:59,07 - Test 7
25.11.2013  8:47:59,09 - Test 8
25.11.2013  8:47:59,10 - Test 9
25.11.2013  8:47:59,10 - Test 10
25.11.2013  8:47:59,12 - Test 10
25.11.2013  8:47:59,15 - Test 11
25.11.2013  8:47:59,37 - Test 11
Test End


Der Schluß: die Umleitung geht mit allen Ziffern(0-9) bei "Leerzeichen Ziffer>>" schief.

Daraufhin hab ich mal alle cmd-Dateien gegrept. Nur in DoUpdate.cmd wurde ich fündig:

" 1>":
Code: Select all
    echo %DATE% %TIME% - Info: Faked Windows XP Service Pack 1>>%UPDATE_LOGFILE%

" 4>":
Code: Select all
  echo %DATE% %TIME% - Warning: Missing Windows Management Framework prerequisite .NET Framework 4>>%UPDATE_LOGFILE%


" 7>":
Code: Select all
echo %DATE% %TIME% - Info: Installing most recent Service Pack for Windows Vista / 7>>%UPDATE_LOGFILE%

Grüße Matjes :)
Matjes
 
Posts: 76
Joined: 16.06.2010, 17:56

Re: Ausgabefehler DoUpdate.cmd

Postby WSUSUpdateAdmin » 25.11.2013, 09:35

Moin!

Vielen Dank Euch Dreien! :)
:arrow: http://trac.wsusoffline.net/browser/trunk (r539).

Gruß & eine gute Woche
Torsten
WSUSUpdateAdmin
Administrator
 
Posts: 2245
Joined: 07.07.2009, 14:38


Return to Installation / Updating

Who is online

Users browsing this forum: No registered users and 27 guests