Hi, kann mir mal jemand bitte unter die Arme greifen? Ich bräuchte ein paar Windwos-Batch-Zeilen die ein Netzwerkordner als Netzlaufwerk auf einen (x-beliebigen) freien Laufwerksbuchstaben mappen und mir diesen Laufwerksbuchstaben dann als Variable oder so breitstellt, dass mein Skipt dann andere Dinge damit machen kann. Sollte das Verbinden des Netzlaufwerkes schief gehen, soll das Skript mit einer Fehlermeldung beenden. Und abschließend soll das Netzlaufwerk natürlich noch getrennt werden. Ich weiß prinzipiell, dass mir da "net use" weiterhilft. Ich weiß aber nicht wie ich das dazu bekomme, sich selbst einen Laufwerksbuchstaben zu suchen, den Laufwerksbuchstaben bei Erfolg weiterzugeben bzw. wie ich bei einem evtl. Fehler abbreche. VG da_user
Und Du musst zwingend einen Laufwerksbuchstaben verwenden? Man kann UNC-Pfade auch direkt verwenden, ohne den Umweg über einen Laufwerksbuchstaben zu gehen, und (sofern Authentifizierung erforderlich ist) fast genauso mit "net use" arbeiten wie bei der Verwendung mit Laufwerksbuchstaben.
1 | net use \\server\freigabe /user:benutzer password |
2 | |
3 | del \\server\freigabe\blafusel.txt |
4 | |
5 | md \\server\freigabe\geraffel |
6 | |
7 | echo "blabla" >> \\server\freigabe\geraffel\zeug.txt |
8 | |
9 | net use \\server\freigabe /del |
CMD.EXE
> kann UNC-Pfade
doch nicht.
P.S.:
Statt "net use" besser mit "pushd" msppen. Der wechselt
dann gleich in das gemappte Verzeichnis...
"popd" loescht das Mapping wieder.
x^4 schrieb: > CMD.EXE > >> kann UNC-Pfade > > doch nicht. Nur nicht als aktuelles Verzeichnis (mit cd), sonst sehr wohl.
> sehr wohl stell ich mir aber anders vor. Weil: > nicht als aktuelles Verzeichnis Da verzichte ich doch eher dankend und benutze pushd/popd.
Wenn man das unbedingt braucht, muss man halt den Aufriss betreiben. Kommt halt immer auf das Problem und den individuellen Lösungsansatz an. Kommt Dein pushd/popd-Ansatz auch mit Authentifizierung zurecht?
Mein Vater hat einen Laptop, bei dem er auf Windows besteht. Alle Dokumente, Bilder, etc. sind auf einem Netzlaufwerk, von dem ich dann Weder über die Explorer GUI noch über net use habe ich es geschafft, dass sich das Netzlaufwerk beim Start zuverlässig verbindet. Sobald man es dann im Explorer anklickte, ging plötzlich alles. Am Schluss habe ich das ganze dann über einen Symlink gelöst, das funktioniert meiner Erfahrung nach am besten:
1 | mklink /D C:\Share \\server\freigabe\geraffel |
Wenn man dann nach C:\Share navigiert, egal ob mit cd, dem explorer, oder sonst was, verhält sich das so ziemlich wie ein normales lokales Verzeichnis. Das geht, weil die sogenannten Symlinks von Windows keine Symlinks sind, sondern Reparse Points.
> Aufriss betreiben
Eigentlich wird alles einfacher:
1 | pushd \\server\freigabe |
2 | |
3 | del blafusel.txt |
4 | |
5 | md geraffel |
6 | |
7 | echo "blabla" >> geraffel\zeug.txt |
8 | |
9 | popd |
> Weder über die Explorer GUI noch über net use habe ich es geschafft
Tja, SMB/CIFS braucht einen Browserdienst.
Der ist in Peer-Umgebungen ohne Domänencontroller eben nicht
gerade zuverlaessig. Eintragen der Hosts in die LMHOSTS *)
mit dem Zusatz #PRE:
192.168.1.1 PC1 #PRE
hilft etwas. Geht natuerlich nur mit statischen Adressen ohne DHCP.
*) c:\WINDOWS\system32\drivers\etc\LMHOSTS
Das unzuverlässige Mappen von Netzshares z.B. in Login-scripten unter Windows hat oft auch als Ursache, dass dass beim Start das Script zu einem Zeitpunkt ausgeführt wird, zu dem die Netzfunktionen noch nicht vollständig gestartet sind. Da kein Mensch so genau weiß, wann Windows eigentlich mit Booten bzw. Starten fertig ist - ist das schlicht und einfach Grütze!
> Das unzuverlässige Mappen von Netzshares
Naja, wer auf die "Persistenz" von Mappings des Explorers vertraut,
hat eigentlich schon verloren.
In einem ordentlichen Script, kann man ja den Erfolg pruefen,
und ggfs. ein paar Versuche mehr machen.
(Muss ich ohne DC auch so machen.)
Aber es gibt genug Affen die mit Bananen gefüttert werden.
Bei denen sind die Scripte halt "maximal" einfach und
laufen nur bei Hochdruckwetter und 240 V Netzspannung
ohne Fehler.
DPA schrieb: > mklink /D C:\Share \\server\freigabe\geraffel > > Wenn man dann nach C:\Share navigiert, egal ob mit cd, dem explorer, > oder sonst was, verhält sich das so ziemlich wie ein normales lokales > Verzeichnis. Das geht, weil die sogenannten Symlinks von Windows keine > Symlinks sind, sondern Reparse Points. Hi, ich glaube der Tipp war Gold wert. Wenn das richtig funktioniert, spare ich mir nämlich einiges an wackliges Zeug in meiner Batch-File, auf die eher dieses hier zutrifft: supergrobi schrieb: > Bei denen sind die Scripte halt "maximal" einfach und > laufen nur bei Hochdruckwetter und 240 V Netzspannung > ohne Fehler. Sollte das nicht klappen habe ich beschlossen das ganze nicht mehr in einem Skript zu machen. Das wird zu unübersichtlich, kompliziert und überhaupt. Dann schreibe ich mir einfach ein kleines C# Programm, das mir die Aufgaben abarbeitet. Prinzipiell wäre das natürlich auch ein schöner Zeitpunkt, um in die PowerShell einzusteigen, leider ist die standardmässig nicht aktiviert auf unseren Firmenrechnern.
Ich will deinen Optimismus ja nicht dämpfen, aber wenn das Netzlaufwerk mal nicht zur Vefügung steht, handelt man sich damit eher neue Probleme, wie nicht reagierende Explorerfenster, Filedialoge von Applikation u.ä. ein. Und wenn bei ihm ein "net use" immer erfolglos war, dann ist bei ihm wohl eher noch was anderes faul.
> zu unübersichtlich, kompliziert und überhaupt.
Wenn dir so triviale Dinge wie ein Netzwerkmapping durchzufuehren,
auf Erfolg zu pruefen und ggfs. das ganze n-mal zu wiederholen
schon s.o. sind, solltest du vielleicht Baecker werden.
C# und Powershell bedienen sich schlussendlich der selben
schlechten Mechanismen die darunter liegen und bringen
dahingehend ueberhaupt keine Verbesserung.
supergrobi schrieb: > C# und Powershell bedienen sich schlussendlich der selben > schlechten Mechanismen die darunter liegen und bringen > dahingehend ueberhaupt keine Verbesserung. Also sorry, ein C#-Programm kann ich doch von Grund auf übersichtlicher gestalten, als eine Batch-File. Zudem sollte aus meinen Posting hervorgegangen sein, dass ich mehr machen will, als einfach nur ein Netzlaufwerk verbinden.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.