consuli
Goto Top

Batch funktioniert nicht unter Vista

Der folgende Batch dient zum kopieren einer html-Datei aus dem Cache des Internet Explorer 7.0.

Ich habe folgende Batch-Datei geschrieben:

Cd C:\Users\Rudi\AppData\Local\Microsoft\Windows\"Temporary Internet Files"\Low\Content.IE5\

Dir *.htm /s /a:-d /b /d >I:\__project\Data\dir.txt

For /f %i In ('Dir .\* /a:dh /b /d') Do Xcopy .\%i\486217[1].htm I:\__project\Data\ /i /y

Rem Dir /a:d nur Verzeichnisse
Rem Dir /a:h versteckte Dateien
Rem Dir /b ohne Überschrift
Rem Dir /d im Spaltenformat
Rem Dir /s mit Unterverzeichnissen
Rem Xcopy /I unterdrückt Frage ob es ein Verzeichnis ist
Rem Xcopy /Y überschreibt bestehende Datei

Wenn ich die Befehle einzeln per Shell absetze, funktioniert es einwandfrei.

Wenn ich die Batch-Datei (mit Administrator Rechten) laufen lassen, funktionieren Zeilen 1 und 2 einwandfrei, Zeile 3 jedoch nicht. (Zeile 2 dient nur zur Kontrolle).

Hat mein Admin nicht volle Admin Rechte, oder was? Weiss echt nit mehr weiter.

Grüssle
Consuli

Content-Key: 91367

Url: https://administrator.de/contentid/91367

Printed on: April 19, 2024 at 12:04 o'clock

Member: 1bgks6
1bgks6 Jul 05, 2008 at 14:00:41 (UTC)
Goto Top
Hat keinerlei Bezug zu Vista. Du mußt das % bei den Variablennamen der For-Schleife genau dann doppeln, wenn die For-Schleife nicht auf der Kommandozeile sondern im Script ausgeführt wird.

Und schick eine Zitrone an Bill Gates für diese Inkonsistenz, die keine anderen Sinn hat als den einen: billige Tipps-und-Tricks-Magazine billig mit billigem Inhalt zu füllen.
Member: consuli
consuli Jul 06, 2008 at 09:26:38 (UTC)
Goto Top
Die doppelten % sind auf jeden Fall schon mal richtig, das habe ich nachgelesen. Vielen Dank schon mal.

Leider geht es immer noch nicht ganz.

Wie kann ich denn die Fehlermeldung aus der Scriptdateiausführung (.bat) auffangen und abspeichern? Mit ">I:\__project\error.txt" hinter der dritten Zeile klappt es nicht.
Member: miniversum
miniversum Jul 06, 2008 at 15:50:48 (UTC)
Goto Top
Fehlermeldungen kannst du mit "2>I:\__project\error.txt" umleiten.

Versuch mal statt
Cd C:\Users\Rudi\AppData\Local\Microsoft\Windows\"Temporary Internet Files"\Low\Content.IE5\  
das:
pushd C:\Users\Rudi\AppData\Local\Microsoft\Windows\"Temporary Internet Files"\Low\Content.IE5\  
Member: consuli
consuli Jul 08, 2008 at 19:15:51 (UTC)
Goto Top
Hat funktioniert.

Ganz lieben Dank
consuli