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

Dateiinhalte per Batch aus Datei auslesen und in neue Datei schreiben

Frage Entwicklung Batch & Shell

Mitglied: Brother-Tuck

Brother-Tuck (Level 1) - Jetzt verbinden

23.01.2012, aktualisiert 15:58 Uhr, 7639 Aufrufe, 5 Kommentare

Hallo Zusammen,

ich habe ein kleines Batch-Problem.
Habe mehrere Stunden im Internet gesucht aber einfach nichts passendes gefunden, es existieren immer nur Teile, leider keine Passende Batch-Datei.

Also ich benötige eine Batch-DateiA,
die aus einer Textdatei Computernamen die untereinanderstehen einzeln in eine Variable liest,
und dann in einer anderen Batch-DateiB den Computernamen ersetzt.
Diese Batch-Datei sollte unter dem Computernamen gespeichert werden.
Das Ganze soll immer wiederholt werden bis alle Computernamen die in der Textdatei stehen als Batch-Datei zur Verfügung stehen.

Es handelt sich um ca. 200 Computernamen.
Eines meiner Probleme ist das ich den Text der Batch-DateiB nicht in eine Variable bekomme, Teile davon werden einfach in Code umgewandelt, weis einfach nicht wie ich das umgehen kann...

Der Inhalt der Batch-DateiB lautet:
01.
@set #=||(set #=1&start "%~dpnx0" /min cmd /c %0 %*&set #=&goto :eof) 
02.
 
03.
echo off 
04.
 
05.
dir "\\%COMPUTERNAME%\c$\Dokumente und Einstellungen\*.pst" /s /Q >"\\%Servername%\Outlook\%username%\%COMPUTERNAME%-%date%.log"
Für die Batch-DateiA habe ich bereits mit den Befehlen echo, for und findstr experimentiert, aber ich bekomms einfach nicht hin...

Ich hoffe mir kann jemand helfen, bin mit meinem Latein(hatte nie welches ) am Ende.

Wenn möglich sollte die Batchdatei unter den Betriebssystemen Windows XP, Vista und 7 laufen.

Solltet ihr noch Angaben benötigen einfach fragen, habe bestimmt noch was vergessen.
Mitglied: Skyemugen
23.01.2012 um 15:22 Uhr
Aloha,

na, da kannst du ja nicht dolle gesucht haben, ehrlich gesagt ... solltest nicht im Internet sondern bei Administrator.de im Batch-Bereich suchen
01.
for /f "usebackq" %%s in ("E:\Skripte\textdatei1.txt") do ( 
02.
03.
		echo @set #=^|^|^(set #=1^&start "%%~dpnx0" /min cmd /c %%0 %%*^&set #=^&goto :eof^) 
04.
		echo\ 
05.
		echo echo off 
06.
		echo\ 
07.
		echo dir "\\%%COMPUTERNAME%%\c$\Dokumente und Einstellungen\*.pst" /s /Q ^>"\\%%Servername%%\Outlook\%%username%%\%%COMPUTERNAME%%-%%date%%.log" 
08.
	)>"E:\Skripte\%%s.bat" 
09.
)
zu for haben wir mehr als genügend Stoff und Tutorials, Escapen per ^ kauen wir auch öfter durch und % als Text setzen, kommt nun auch nicht unhäufig vor ...

greetz André

P.S.: Wir haben hier eine schöne Codeformatierung (link), die man auch im Nachhinein noch hineineditieren kann.
Bitte warten ..
Mitglied: Brother-Tuck
23.01.2012 um 16:08 Uhr
Danke für den Link.

Mein Fehler, die Variablen %Computernamen% sollen ebenfalls durch den Computernamen ersetzt werden.
Das ist mein eigentliches Problem.

Wenn der Computername PC001 lautet, dann sollte die Datei PC001.cmd heißen und der Inhalt wie folgt lauten:

01.
@set #=||(set #=1&start "%~dpnx0" /min cmd /c %0 %*&set #=&goto :eof) 
02.
 
03.
echo off 
04.
 
05.
dir "\\PC001\c$\Dokumente und Einstellungen\*.pst" /s /Q >"\\%Servername%\Outlook\%username%\PC001-%date%.log"
Bitte warten ..
Mitglied: bastla
23.01.2012 um 18:23 Uhr
Hallo Brother-Tuck und willkommen im Forum!

Wenn Du Skyes Vorschlag schon näher betrachtet / nachvollzogen hast (vorzugsweise ohne ein "echo off" vorweg), wird Dir doch sicherlich die Zeile 8 aufgefallen sein - daraus sollten sich dann auch die für die Zeile 7 erforderlichen Änderungen ableiten lassen ...

Grüße
bastla
Bitte warten ..
Mitglied: Skyemugen
23.01.2012 um 18:39 Uhr
Aloha bastla,

boa mein Nacken brennt von der Physio, holla die Waldfee - apropros brennt, der ersten Stock steht gerade in Flammen, na egal, heiß her geht's hier eher nicht im Thread

nun, wenn der TE genau so vorher stundenlang im Internet gesucht hat, wie er hier die paar Codezeilen sich durchliest, weiß ich, warum wir hier einen neuen Thread haben ... ja, ich bin heute gemein - a) ist Montag und b) ist es gerechtfertigt

naja egal, er wird hoffentlich deinen Hinweis folgerichtig interpretieren, ohne dass wir ihm extra die Laufvariable vor die Nase halten *guck mal da, ätsch*

Also mein letzter Hinweis bzw. link, da er auch danach noch nicht gesucht hat: Meister Friemlers Tutorial zur FOR-Schleife

greetz André

P.S.: @Brother-Tuck, nimm's mir nicht krumm aber ich kaue eben lieber mein Essen erneut durch als aufbereitete Lösungen aber ich bin zuversichtlich bei dir, hast du doch bereits Codeblöcke hineineditiert, das ist ja schonmal was, vor allem auf einem Montag
Bitte warten ..
Mitglied: Brother-Tuck
24.01.2012 um 09:57 Uhr
Ich schäme mich.
Bin gestern mit dem falschen Fuß aufgestanden.
Hat super funktioniert, vielen Dank.
Jetzt kann ich weitermachen^^

PS:@Skyemugen, ich nehms dir nicht krumm.
Die Wahrheit braucht keine Entschuldigung.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Microsoft Office
Excel Dateien durchsuchen und Werte einzeln in neue Excel Datei auslesen (1)

Frage von krischanii zum Thema Microsoft Office ...

Batch & Shell
gelöst BATCH ini Datei Datei auslesen (2)

Frage von Juergen42 zum Thema Batch & Shell ...

VB for Applications
gelöst PDF Datei auslesen und per VBA in Excel schreiben (3)

Frage von Julian8990 zum Thema VB for Applications ...

VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

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

Frage von patz223 zum Thema Windows Userverwaltung ...

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

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

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

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

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...