Netshare Batch aus CMD auslesen und in CSV erstellen
Das bekomme ich aus cmd Befehl:
Share name Resource Remark
ADMIN$ C:\Windows Remote Admin
IPC$ Remote IPC
I$ I:\ Default share
D$ D:\ Default share
F$ F:\ Default share
bilder F:\Intranet\Bilder\xnnnn
Telefonbuch F:\meinacc\acc\telefon\nummern
meinbestershare1
F:\meinbestershare1\hhn
meinbestershare2
F:\meinbestershare1\hhn\nnh
bildernew F:\Intranet\Bilder\new\bilder
Ich muss den Namen und den Pfad mittels Batch Befehl in eine csv Datei umwandeln
Das Problem ist aber:
Wenn der Share Name zu groß ist wird der Pfad erst in der nächten Zeile angezeigt. Und bei einer For Schleife nimmt der Pfad dann den Token 1 an da er alleine in der nächsten Zeile steht.
Das zweite Problem ist, dass er "Remote" als Token 2 nimmt weil kein Pfad an Token2 gegeben wird.
mein erster Ansatz:
@echo off
FOR /F "tokens=1,2 delims= " %%A IN (sharename.txt) do echo %%A>> ergebnis.txt
Ich sag schonmal Danke an diejenigen die mir da weiter helfen können.
Share name Resource Remark
ADMIN$ C:\Windows Remote Admin
IPC$ Remote IPC
I$ I:\ Default share
D$ D:\ Default share
F$ F:\ Default share
bilder F:\Intranet\Bilder\xnnnn
Telefonbuch F:\meinacc\acc\telefon\nummern
meinbestershare1
F:\meinbestershare1\hhn
meinbestershare2
F:\meinbestershare1\hhn\nnh
bildernew F:\Intranet\Bilder\new\bilder
Ich muss den Namen und den Pfad mittels Batch Befehl in eine csv Datei umwandeln
Das Problem ist aber:
Wenn der Share Name zu groß ist wird der Pfad erst in der nächten Zeile angezeigt. Und bei einer For Schleife nimmt der Pfad dann den Token 1 an da er alleine in der nächsten Zeile steht.
Das zweite Problem ist, dass er "Remote" als Token 2 nimmt weil kein Pfad an Token2 gegeben wird.
mein erster Ansatz:
@echo off
FOR /F "tokens=1,2 delims= " %%A IN (sharename.txt) do echo %%A>> ergebnis.txt
Ich sag schonmal Danke an diejenigen die mir da weiter helfen können.
Please also mark the comments that contributed to the solution of the article
Content-Key: 282414
Url: https://administrator.de/contentid/282414
Printed on: April 26, 2024 at 04:04 o'clock
13 Comments
Latest comment
Moin,
simpler Powershell-Schnippsel:
Oder direkt in eine Batch eingebaut sieht's dann so aus:
Gruß jodel32
p.s. Hallo oder Gruß wären ganz schön, hier arbeiten immerhin noch Menschen und keine Roboter
simpler Powershell-Schnippsel:
gwmi Win32_Share | select Name,Path,Description | export-csv 'C:\export.csv' -Delimiter ";" -NoType -Encoding UTF8
@echo off
set "export=C:\shares.txt"
powershell -ExecutionPolicy ByPass -Command "gwmi Win32_Share | select Name,Path,Description | export-csv '%export%' -Delimiter ";" -NoType -Encoding UTF8"
p.s. Hallo oder Gruß wären ganz schön, hier arbeiten immerhin noch Menschen und keine Roboter
Gibt es aber auch eine Lösung ohne Powershell, also DOS Lösung ?
Der zweite Code ist direkt für eine Batch vorgesehen...Das hier geht ebenfalls, für die museumsreifen Batchler :-P
(for /f "skip=1 delims=" %%a in ('wmic path win32_share get Name ^| findstr "."') do @echo %%a)>"C:\shares.txt"
(for /f "delims=" %%a in ('wmic share get Name^,Path /format:csv ^| findstr "."') do @echo %%a)>"C:\shares.csv"
nun wie kann ich sehen welcher Share für wen freigegeben ist und wann die letzte Aktualisierung im Ordner war
War das jetzt ne Frage ??Wie gesagt bescchäftige dich mal mit Powershell, damit musst du nicht 1001 Umwege gehen:
https://gallery.technet.microsoft.com/scriptcenter/List-Share-Permission ...
Das Ding ist ja ich darf kein Powershell benutzen ich muss alles in Batch schreiben ohne Powershell Befehle.
Man merkt, geht wieder Richtung Freitag, wohl mal wieder ein Schüler, der sich hier seine Hausaufgaben machen lässt ;-Picacls is your friend ...
Was Jodel sicher sagen will: "Das ist Batchcode".
Jup da hat's bei Ihm noch nicht geschnackelt...