User-Root Geschrieben 20. Juli 2010 Teilen Geschrieben 20. Juli 2010 Hallo Gemeinde. Folgender Quelltext gibt fehlerhafte daten aus und ich sehe den Fehler nicht: reg query "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Devices" |find "\\" >"%userprofile%\Tiny_Backup\printer.txt" for /f "delims=\ tokens=1-3" %%a in ("%userprofile%\Tiny_Backup\printer.txt") do ( if /i not %%b==PrintserverA ( echo %%a\\%%b\%%c >> "%userprofile%\Tiny_Backup\printer.tmp" ) else ( echo %%a\\PrintserverB\%%c >> "%userprofile%\Tiny_Backup\printer.tmp" ) ) del /f /q "%userprofile%\Tiny_Backup\printer.txt" ren "%userprofile%\Tiny_Backup\printer.tmp" printer.txt Vor Beginn der For-Schleife ist das Ergebnis eine Text-Datei, mit den für den Benutzer installierten Netzwerkdruckern. In der For-Schleife wird das dann aber so gewandelt, das am Ende in der neuen Printer.txt nur noch c:\\Documents and Settings\"Benutername" drin steht. Gerade so als würde er nicht die Text-Datei in der Schleife abarbeiten sondern nur die Variable %username% selbst. Für Sachdienliche Hinweise beantworten Sie den Thread oder wenden Sie sich an die nächgelegene Polizeidienststelle. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
RipperFox Geschrieben 20. Juli 2010 Teilen Geschrieben 20. Juli 2010 ..lass die Anführungszeichen bei ("%userprofile%\Tiny_Backup\printer.txt") weg.. Grüße Ripper Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
User-Root Geschrieben 20. Juli 2010 Autor Teilen Geschrieben 20. Juli 2010 (bearbeitet) Das läßt die Schleife Endlos weiterlaufen ohne das eine printer.tmp erstellt wird. Hab gerade die Lösung gefunden. for /f "usebackq delims=\ tokens=1-3" %%a in ("%userprofile%\Tiny_Backup\Printer.txt") do ( ... Dann wird es so wie erwartet abgearbeitet. Bearbeitet 20. Juli 2010 von User\Root Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
RipperFox Geschrieben 20. Juli 2010 Teilen Geschrieben 20. Juli 2010 Das läßt die Schleife Endlos weiterlaufen ohne das eine printer.tmp erstellt wird. Hab gerade die Lösung gefunden. for /f "usebackq delims=\ tokens=1-3" %%a in ("%userprofile%\Tiny_Backup\Printer.txt") do ( ... ..oder lass wie gesagt "usebackq" und die Anführungszeichen weg.. Die Klammern reichen.. for /f " delims=\ tokens=1-3" %%a in (%userprofile%\Tiny_Backup\Printer.txt) do ( ... Grüße Ripper Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lupo49 Geschrieben 20. Juli 2010 Teilen Geschrieben 20. Juli 2010 Wenn der Pfad in den Klammern in Anführungszeichen gesetzt werden muss (bspw. weil er Leerzeichen enthält), dann muss immer der Parameter "usebackq" verwendet werden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.