lamerking
Goto Top

Textdatei zeilenweise einlesen

Hallo zusammen,

ich hab folgendes Problem.
Ich will ne Textdatei mit folgendem Format zeilenweise einlesen:

z.B.

PC-204
PC345
NB-03212
nb2043

In nem Script (wenns geht vbs oder evtl. ne normale Batchdatei) soll er die PC-Namen zeilenweise einlesen und dann auf die PCs was kopieren.

Wie krieg das hin, dass in dem Script jede Zeile nimmt und dann nen copy Befehl auf den jeweiligen PC ausführt?

Danke schon mal.

Gruß
Tobias

Content-ID: 44105

Url: https://administrator.de/contentid/44105

Ausgedruckt am: 25.11.2024 um 20:11 Uhr

Biber
Biber 09.11.2006 um 18:22:14 Uhr
Goto Top
Moin Lamer,

das bekommst Du als Batch mit einer FOR /F..IN..DO-Anweisung hin.
Beispiele zur For/F-Verwendung tonnenweise in "Batch & Shell"
[Beispiele zu VBScript und OpenTextFile und ReadLine auch natürlich.]

Beispiel in einer Batchdatei:
@For /f %%i in (D:\eine\Textdatei.txt) Do @copy d:\srcDir\*.doc \\%%i\d$\Dokus\*.*

Die Zählvariable %%i wird in diesem Fall aufgelöst zur jeweiligen Zeile in der Textdatei.

Gruß
Biber
xcite06
xcite06 09.11.2006 um 18:23:51 Uhr
Goto Top
Hi,

Einfach in eine Text Datei die Computernamen schreiben. (in folge comp.txt genannt)

Batch Datei mit folgenden Zeilen erstellen:

@echo off
For /F "tokens=1" %%i IN (comp.txt) DO (
xcopy "\\server\freigabe\" "\\%%i\c$\freigabe"
If errorlevel=1 GOTO error
GOTO weiter
:error
echo ERROR: Datei(en) konnten nicht auf %%i kopiert werden. >> status.txt
:weiter
echo Datei(en) erfolgreich auf %%i kopiert. >> status.txt
)

mfg, xcite
Lamerking
Lamerking 09.11.2006 um 23:02:28 Uhr
Goto Top
Super!

Danke für die Antworten.
Genau dass, wonach ich gesucht habe.

Ich hab jetzt allerdings noch ein kleineres Problem.

Wir haben teilweise NT und XP-Clients im Netz. Bei denen heißt das Windows-Verzeichnis bekanntlich unterschiedlich.

Wenn ich nun allerdings versuche mit der %windir% Variable zu arbeiten funktioniert das nicht.
Ich möchte nämlich auf C$ des Rechners zugreifen und dann im %windir% Verzeichnis was ablegen.

Mit
copy c:\ordner\datei \\pc-name\c$\%windir%\
funktioniert es leider nicht.

Hat jemand ne Idee?

Danke schon mal.

Gruß
Tobias
miniversum
miniversum 10.11.2006 um 07:51:11 Uhr
Goto Top
Versuchs mal so:
if /i exist \\pc-name\c$\Windows (
copy c:\ordner\datei \\pc-name\c$\windows
) else (
copy c:\ordner\datei \\pc-name\c$\winNT
)


miniversum
Lamerking
Lamerking 15.11.2006 um 15:43:11 Uhr
Goto Top
Super Danke!!!