Ordner im Netz suchen
Hallo @ all
zu erst mal Hallo ich bin ein neuer und noch ein Anfänger in der Batch programmierung.
Hier meine Frage.
Ich möchte eine Anzahl von Rechner in einem Lan auf einen bestimmten Ordner überprüfen und dann ausgeben.
Hier mein bisheriger Ansatz:
for /f %%a in (c:\neu.txt) do call :check
:check
net use w: \\%%a
if exist w:\neu/nul goto TUWAS
print %%a >> nichtgefunden.txt
goto ENDE
:TUWAS
print %%a >> gefunden.txt
:ende
Probleme:
Die Variable a wird nicht im check übernommen und dadurch werden die ip's nicht geprüft.
Wäre dankbar für alle verbesserungs und änderungsvorschläge.
MfG Holger
zu erst mal Hallo ich bin ein neuer und noch ein Anfänger in der Batch programmierung.
Hier meine Frage.
Ich möchte eine Anzahl von Rechner in einem Lan auf einen bestimmten Ordner überprüfen und dann ausgeben.
Hier mein bisheriger Ansatz:
for /f %%a in (c:\neu.txt) do call :check
:check
net use w: \\%%a
if exist w:\neu/nul goto TUWAS
print %%a >> nichtgefunden.txt
goto ENDE
:TUWAS
print %%a >> gefunden.txt
:ende
Probleme:
Die Variable a wird nicht im check übernommen und dadurch werden die ip's nicht geprüft.
Wäre dankbar für alle verbesserungs und änderungsvorschläge.
MfG Holger
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 40480
Url: https://administrator.de/forum/ordner-im-netz-suchen-40480.html
Ausgedruckt am: 05.04.2025 um 20:04 Uhr
3 Kommentare
Neuester Kommentar
Hallo Holger!
Vielleicht so:
Beim Aufruf des :check-Teiles wird der Inhalt von %%a als (erster) Parameter übergeben -> %1
Außerdem würde ich auf die Verknüpfung des Netzlaufwerks verzichten und einen UNC-Pfad verwenden bzw. sie zumindest jeweils per /delete-Schalter löschen.
HTH
bastla
Vielleicht so:
for /f %%a in (c:\neu.txt) do call :check %%a
goto :eof
:check
net use w: \\%1
if exist w:\neu\nul goto TUWAS
echo %1 >> nichtgefunden.txt
goto :eof
:TUWAS
echo %1 >> gefunden.txt
Beim Aufruf des :check-Teiles wird der Inhalt von %%a als (erster) Parameter übergeben -> %1
Außerdem würde ich auf die Verknüpfung des Netzlaufwerks verzichten und einen UNC-Pfad verwenden bzw. sie zumindest jeweils per /delete-Schalter löschen.
HTH
bastla
Moin honk82,
ich sehe bastla's Lösung als die richtige an und fände es nett, wenn Du nach dem Testen Deinen Beitrag auf "Gelöst" setzt.
Für unbedingt beachtenswert halte ich den Hinweis "Außerdem würde ich..."
Das könnte dann so ähnlich aussehen:
Gruß
Biber
ich sehe bastla's Lösung als die richtige an und fände es nett, wenn Du nach dem Testen Deinen Beitrag auf "Gelöst" setzt.
Für unbedingt beachtenswert halte ich den Hinweis "Außerdem würde ich..."
Das könnte dann so ähnlich aussehen:
@echo off
for /f %%a in (c:\neu.txt) do call :check %%a
goto :eof
:check
if exist \\%1\neu\nul (echo %1 >> gefunden.txt) && goto :eof
echo %1 >> nichtgefunden.txt
Gruß
Biber