Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch - Beschneiden von TXT-Inhalt und FOR-Schleifen mit mehreren Ausgaben

Frage Entwicklung Batch & Shell

Mitglied: hojnacki

hojnacki (Level 1) - Jetzt verbinden

20.08.2012, aktualisiert 14:48 Uhr, 2492 Aufrufe, 2 Kommentare

Hallo zusammen,

nachdem ich nun bereits seit Tagen vor einem Problem sitze und auch durch googlen nicht weiter komme, wende ich mich jetzt hoffnungsvoll an euch.
Und zwar arbeiten wir derzeit an einem Windows 7 Rollout.
Meine Aufgabe ist es aktuell, die Migration der eingerichteten (Netzwerk-)Drucker vorzubereiten.
Die Vorgehensweise ist soweit klar: Exportiere Registry Schlüssel, filtere die Netzwerkdrucker heraus und importiere diese auf das neue System.
REG EXPORT "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Devices" C:\test\Drucker.reg
Mit diesem Befehl, oder alternativ einem reg query kommt man sehr leicht an eine *.reg, bzw. *.txt Datei mit allen installierten Druckern.

Exemplarisch hier meine drucker.reg:
01.
Windows Registry Editor Version 5.00 
02.
 
03.
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Devices] 
04.
"Microsoft XPS Document Writer"="winspool,Ne00:" 
05.
"FreePDF - klein"="winspool,Ne01:" 
06.
"FreePDF"="winspool,Ne02:" 
07.
"Fax"="winspool,Ne03:" 
08.
"\\\\ccbpsrv54\\Canon_C5045_PS_EG"="winspool,Ne05:" 
09.
"\\\\ccbpsrv54\\Canon_C5035_PS_2OG"="winspool,Ne04:"
ich möchte jetzt gerne per Batch die beiden Netzwerkdrucker inkl. Druckerserver (immer gleich) herausfiltern.

SOLL:
\\ccbpsrv54\\Canon_C5045_PS_EG
\\ccbpsrv54\\Canon_C5035_PS_2OG

Mit folgender Batch realisiere ich derzeit die "Beschneidung" der Datei:
01.
@echo off 
02.
for /f "Tokens=*" %%i in ('find /I "canon" c:\test\nb163.txt^') do ( 
03.
set VAR=%%i 
04.
SET _result=%VAR:*c=c%  
05.
ECHO %_result%  
06.
 
07.
SET _result2=%_result:~0,-18%  
08.
ECHO %_result2% >>c:\test\DruckerToMigrate.txt  
09.
10.
echo Netzwerkdrucker erfolgreich gesichert! 
11.
pause
Es ist nicht sehr schön, tut aber (eigentlich) das, was es soll.

Mein Problem ist jetzt, dass das Programm IMMER nur den letzten Drucker in der Liste speichert und den dafür aber mehrfach.
IST:
\\ccbpsrv54\\Canon_C5035_PS_2OG
\\ccbpsrv54\\Canon_C5035_PS_2OG

Woran liegt das? Ich werde daraus einfach nicht schlau...
Ich hoffe, Ihr könnt mir helfen.
Über Alternativen freue ich mich natürlich auch!

Vielen Dank für eure Mühe!

Liebe Grüße,
Florian
Mitglied: bastla
20.08.2012, aktualisiert um 15:03 Uhr
Hallo hojnacki und willkommen im Forum!

Ich würde das anders anlegen:
for /f "delims==" %%i in ('findstr "\\\\" c:\test\nb163.txt') do >>c:\test\DruckerToMigrate.txt echo %%~i
Wenn Du auch gleich die Anzahl der Backslashes halbieren willst:
01.
@echo off & setlocal 
02.
for /f "delims==" %%i in ('findstr "\\\\" c:\test\nb163.txt') do ( 
03.
    set "Drucker=%%~i" 
04.
    setlocal enabledelayedexpansion 
05.
    >>Drucker.txt echo !Drucker:\\=\! 
06.
    endlocal 
07.
)
Gefiltert wird hier nach UNC-Pfad - kannst Du aber natürlich auch nach "canon" machen ...
Grüße
bastla

P.S.: Wenn Du Code oder Textbeispiele postest, verwende bitte (geht auch nachträglich) die passende Formatierung ...

[Edit] Danke für das Nachholen (und im Zweifelsfall auch Ein- und Ausgabe so formatieren - damit werden sie leichter nachvollzieh- und für Tests verwendbar) [/Edit]
Bitte warten ..
Mitglied: hojnacki
20.08.2012 um 14:53 Uhr
Super! Vielen Dank für die schnelle, freundliche und kompetente Antwort bastla!
Das war ganz genau das, wonach ich gesucht habe!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Verschachtelte For Schleife für Batch Neuling (3)

Frage von yperiu zum Thema Batch & Shell ...

Batch & Shell
gelöst FOR Schleife mit Unterverzeichnissen, die Ausgabe kürzen (tokens evtl.) (5)

Frage von Kriegstreiber zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Problem bei einer For Schleife (2)

Frage von Juergen42 zum Thema Batch & Shell ...

Batch & Shell
Batch: Variable Expansion in einer FOR-Schleife (9)

Frage von .Sessl zum Thema Batch & Shell ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (11)

Frage von RickTucker zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
Uninitialisierte Festplatte - Daten retten (11)

Frage von peterla zum Thema Festplatten, SSD, Raid ...

Microsoft Office
Outlook 2016 in Ordneransicht starten - GPO (9)

Frage von D-Line zum Thema Microsoft Office ...