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, 2481 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 ..
Neuester Wissensbeitrag
DSL, VDSL

Telekom blockiert immer noch den Port 7547 in ihrem Netz

(3)

Erfahrungsbericht von joachim57 zum Thema DSL, VDSL ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch: (at)set und (at)echo in For-Schleifen? und mehr (8)

Frage von Ben.Blake.79 zum Thema Batch & Shell ...

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

Frage von Juergen42 zum Thema Batch & Shell ...

Batch & Shell
gelöst Mittels Batch alle .txt Dateien eines Verzeichnises ändern (10)

Frage von mttspeedy zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...