Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 2493 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 Ausgabe der einzelnen Ergebnisse einer For-Schleife mit Schalter F (11)

Frage von hipfzwirgel zum Thema Batch & Shell ...

Batch & Shell
gelöst Txt Inhalt in batch variabel verwenden (17)

Frage von quan81 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows 10
Seekrank bei Windows 10 (18)

Frage von zauberer123 zum Thema Windows 10 ...

Windows 10
Windows 10 Fall Creators Update Fehler (14)

Frage von ZeroCool23 zum Thema Windows 10 ...

Router & Routing
gelöst Getrenntes Routing bei VoIP und Daten (12)

Frage von Hobbystern zum Thema Router & Routing ...