Batch netzlaufwerk in var speichern
Hallo,
Ich hätte gerne eine Batch, welche Im Netzwerk nach netzlaufwerken sucht, diese dan in einer Variablen Speicher und das Proggram C:\Programme\BatchAV\netscan.exe startet (mit übergabe der Variablen der Netzlaufwerke)
Mfg,
Hexflex
Ich hätte gerne eine Batch, welche Im Netzwerk nach netzlaufwerken sucht, diese dan in einer Variablen Speicher und das Proggram C:\Programme\BatchAV\netscan.exe startet (mit übergabe der Variablen der Netzlaufwerke)
Mfg,
Hexflex
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 47662
Url: https://administrator.de/contentid/47662
Ausgedruckt am: 22.11.2024 um 19:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo hexflex!
Ganz klar ist mir (abgesehen von der Tatsache, dass Du vielleicht Dein Netzwerk etwas näher beschreiben könntest) nicht, was Du mit "nach Netzlaufwerken suchen" meinst - um einen Rechner remote zu scannen, kannst Du doch über die administrative Freigabe zugreifen (soferne Du auf dem Zielrechner Admin-Rechte hast), also etwa für die gesamte Partition C:
Der "Zielrechnername" kann dabei natürlich auch eine IP-Adresse sein, wodurch Du mehrere Rechner automatisiert überprüfen kannst:
würde von allen Rechnern im IP-Bereich 192.168.0.10 bis 192.168.0.20 die Partition C: scannen (im Beispiel direkt von der Commandline - im Batch müsstest Du jeweils %%a schreiben).
Eventuelle Schwierigkeiten bei einer solchen Vorgangsweise (wie nicht erreichbare Rechner oder geringe Performance über das Netzwerk) hast Du ja sicher schon berücksichtigt ...
Grüße
bastla
Ganz klar ist mir (abgesehen von der Tatsache, dass Du vielleicht Dein Netzwerk etwas näher beschreiben könntest) nicht, was Du mit "nach Netzlaufwerken suchen" meinst - um einen Rechner remote zu scannen, kannst Du doch über die administrative Freigabe zugreifen (soferne Du auf dem Zielrechner Admin-Rechte hast), also etwa für die gesamte Partition C:
C:\Programme\BatchAV\netscan.exe \\Zielrechnername\C$
for /l %a in (10,1,20) do C:\Programme\BatchAV\netscan.exe \\192.168.0.%a\C$
Eventuelle Schwierigkeiten bei einer solchen Vorgangsweise (wie nicht erreichbare Rechner oder geringe Performance über das Netzwerk) hast Du ja sicher schon berücksichtigt ...
Grüße
bastla
Hi,
also bastla kam mir mal wieder zu vor!
Also hier mal mein Batch:
Er liest zuerst alle Computer im Netzwerk aus und greift dann speziell auf jeden zu und gibt die Freigaben aus. Jedoch gibt es noch ein kl. Problem. Freigaben mit Leerzeichen! Sprich wenn die Freigabe "Mein Test" heißt gibt es nur "Mein" weiter.
Leider kenne ich die netscan.exe nicht und du hast auch beschrieben was diese macht.
Gruß
Dani
also bastla kam mir mal wieder zu vor!
Also hier mal mein Batch:
@ECHO off
FOR /f "skip=3 tokens=1" %%i IN ('net view') DO (
FOR /f "skip=7 tokens=1-2" %%n IN ('net view %%i) DO (
"C:\Programme\BatchAV\netscan.exe" %%i\%%n
)
)
Leider kenne ich die netscan.exe nicht und du hast auch beschrieben was diese macht.
Gruß
Dani
Hallo hexflex!
Auf Basis von Dani's Batch hätte ich folgenden Vorschlag: Zuerst eine Liste der Freigaben erstellen, aber nicht in einer Variablen, sondern in einer Datei speichern und mit einem Editor Deiner Wahl ansehen / überarbeiten:
Danach in einem zweiten Schritt den eigentlichen Scan laufen lassen:
Grüße
bastla
Auf Basis von Dani's Batch hätte ich folgenden Vorschlag: Zuerst eine Liste der Freigaben erstellen, aber nicht in einer Variablen, sondern in einer Datei speichern und mit einem Editor Deiner Wahl ansehen / überarbeiten:
@echo off & setlocal
set Liste=%temp%\Freigaben.txt
if exist %Liste% del %Liste%
for /f %%i in ('net view ^| find "\\"') do for /f %%n in ('net view %%i ^| find "Platte"') do echo %%i\%%n >> %Liste%
notepad.exe %Liste%
@echo off & setlocal
set Liste=%temp%\Freigaben.txt
for /f %%i in (%Liste%) do C:\Programme\BatchAV\netscan.exe %%i
Grüße
bastla