Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Windows 7
  Batchdatei zum Tauschen von Netzlaufwerk

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Batchdatei zum Tauschen von Netzlaufwerk (1416 mal gelesen)
DonChunior
Mitglied
CAD-Systemadministrator


Sehen Sie sich das Profil von DonChunior an!   Senden Sie eine Private Message an DonChunior  Schreiben Sie einen Gästebucheintrag für DonChunior

Beiträge: 1149
Registriert: 09.09.2004

Windows 7 Enterprise x64 SP1

erstellt am: 20. Jan. 2015 08:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

ich habe folgende Ausgangssituation:
Auf dem Server SERVER_1 gibt es eine Freigabe FREIGABE_A.
Auf dem Server SERVER_2 gibt es eine Freigabe FREIGABE_B.
Bei meinem PC ist das Laufwerk Z: mit dem Ordner \\SERVER_1\FREIGABE_A verbunden.

Ich benötige nun eine Batchdatei, mit folgender Funktionalität:

  • Wenn die Freigabe vom ersten Server verbunden ist, soll diese getrennt und die Freigabe des zweiten Servers verbunden werden.
  • Wenn die Freigabe vom zweiten Server verbunden ist, soll diese getrennt und die Freigabe des ersten Servers verbunden werden.

Somit wird quasi bei jedem Ausführen der Batchdatei die Freigabe des Laufwerks Z: getauscht.

Ich hoffe, jemand kann mir bei der Erstellung der gewünschten Funktionalität helfen?!

------------------
MfG, DonChunior

BOINC - Rechenleistung spenden

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Rainer Schulze
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. im Ruhestand


Sehen Sie sich das Profil von Rainer Schulze an!   Senden Sie eine Private Message an Rainer Schulze  Schreiben Sie einen Gästebucheintrag für Rainer Schulze

Beiträge: 4419
Registriert: 24.09.2012

erstellt am: 20. Jan. 2015 08:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für DonChunior 10 Unities + Antwort hilfreich

>>Wenn die Freigabe vom ersten Server verbunden ist

So aus dem Stegreif bekomme ich die entsprechende Abfrage nicht hin, aber schau Dir mal die Hilfe zu "net" und "if" an.

>>Somit wird quasi bei jedem Ausführen der Batchdatei die Freigabe des Laufwerks Z: getauscht.

So kann man aber auch versehentlich die falsche Quelle aktivieren.
Ich würde dafür zwei getrennte Batch-Dateien wählen:
SHARE_A.cmd:
net use z: /delete
net use z: \\server_1\FREIGABE_A
SHARE_B.cmd:
net use z: /delete
net use z: \\server_2\FREIGABE_b

------------------
Rainer Schulze

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DonChunior
Mitglied
CAD-Systemadministrator


Sehen Sie sich das Profil von DonChunior an!   Senden Sie eine Private Message an DonChunior  Schreiben Sie einen Gästebucheintrag für DonChunior

Beiträge: 1149
Registriert: 09.09.2004

Windows 7 Enterprise x64 SP1

erstellt am: 20. Jan. 2015 09:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von Rainer Schulze:
...
>>Somit wird quasi bei jedem Ausführen der Batchdatei die Freigabe des Laufwerks Z: getauscht.

So kann man aber auch versehentlich die falsche Quelle aktivieren.
Ich würde dafür zwei getrennte Batch-Dateien wählen ...


Dass nur eine Batchdatei zum Tauschen der Freigaben vorhanden ist, ist eine Anforderung, die erfüllt sein muss.
Am IF bin ich eben auch gescheitert. Aber es gibt sicher einen Spezialisten, der hier weiterhelfen kann ...

------------------
MfG, DonChunior

BOINC - Rechenleistung spenden

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Grebe
Mitglied



Sehen Sie sich das Profil von Grebe an!   Senden Sie eine Private Message an Grebe  Schreiben Sie einen Gästebucheintrag für Grebe

Beiträge: 536
Registriert: 16.12.2002

erstellt am: 20. Jan. 2015 09:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für DonChunior 10 Unities + Antwort hilfreich

Ich würde mal probieren SHARE_A.cmd als SWITCH.cmd auf FREIGABE_B und SHARE_B.cmd auch als SWITCH.cmd auf FREIGABE_A zu legen.

Die eigentliche Batch zum Wechseln wäre dann EINE SWITCH_Z.cmd
mit dem Inhalt
Z:SWITCH.cmd

Diese ruft dann über Z: die jeweils passende zum Wechsel auf die andere Freigabe auf.
Mathias

/edit
P.S.: Sollte das nicht gehen, da während der Abarbeitung der CMD auf Z: das Laufwerk gelöscht wird, könntest Du die passende CMD von Z: zuerst lokal kopieren und dort aufrufen.
/edit

[Diese Nachricht wurde von Grebe am 20. Jan. 2015 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DonChunior
Mitglied
CAD-Systemadministrator


Sehen Sie sich das Profil von DonChunior an!   Senden Sie eine Private Message an DonChunior  Schreiben Sie einen Gästebucheintrag für DonChunior

Beiträge: 1149
Registriert: 09.09.2004

Windows 7 Enterprise x64 SP1

erstellt am: 20. Jan. 2015 09:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von Grebe:
Ich würde mal probieren SHARE_A.cmd als SWITCH.cmd auf FREIGABE_B und SHARE_B.cmd auch als SWITCH.cmd auf FREIGABE_A zu legen.

Die eigentliche Batch zum Wechseln wäre dann EINE SWITCH_Z.cmd
mit dem Inhalt
Z:SWITCH.cmd

Diese ruft dann über Z: die jeweils passende zum Wechsel auf die andere Freigabe auf.


Das wäre mal ein Ansatz, danke dafür!
Der Nachteil (ist natürlich Ansichtssache) dabei ist, dass drei Batchdateien notwendig sind.
Alles in einer Datei wäre mir am liebsten, hat dazu noch jemand eine Idee?

------------------
MfG, DonChunior

BOINC - Rechenleistung spenden

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Grebe
Mitglied



Sehen Sie sich das Profil von Grebe an!   Senden Sie eine Private Message an Grebe  Schreiben Sie einen Gästebucheintrag für Grebe

Beiträge: 536
Registriert: 16.12.2002

erstellt am: 20. Jan. 2015 10:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für DonChunior 10 Unities + Antwort hilfreich

Den Output von "net use" z.B. in eine Textdatei umleiten, dort mittels "find" versuchen heraus zu finden, welche Verbindung besteht und dann auf die andere umschalten. Wird aber aufwändiger als die drei Kleinen.
Mathias

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fritsrol
Mitglied
CAD-Systemingenieur


Sehen Sie sich das Profil von fritsrol an!   Senden Sie eine Private Message an fritsrol  Schreiben Sie einen Gästebucheintrag für fritsrol

Beiträge: 143
Registriert: 11.12.2002

Windows 10 64
Office 2016
Eplan P8 2.7 HF2
VS 2015
Medusa 2000i2

erstellt am: 20. Jan. 2015 11:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für DonChunior 10 Unities + Antwort hilfreich


for /F "tokens=1,2 delims=" %%a IN ('net use z:') do @call :doShare %%a %%b

net use z: /delete
net use z: shareneu

goto :eof

:doShare

echo  .... %1 %2
if [%2]=share1 set shareneu=share2
if [%2]=share2 set shareneu=share1

goto :eof

Gruß
Roland

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fritsrol
Mitglied
CAD-Systemingenieur


Sehen Sie sich das Profil von fritsrol an!   Senden Sie eine Private Message an fritsrol  Schreiben Sie einen Gästebucheintrag für fritsrol

Beiträge: 143
Registriert: 11.12.2002

erstellt am: 20. Jan. 2015 11:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für DonChunior 10 Unities + Antwort hilfreich

Upps, noch Klammern vergessen. Damit werden Leerstrings abgefangen

if [%2]=[share1] set shareneu=share2
if [%2]=[share2] set shareneu=share1

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fritsrol
Mitglied
CAD-Systemingenieur


Sehen Sie sich das Profil von fritsrol an!   Senden Sie eine Private Message an fritsrol  Schreiben Sie einen Gästebucheintrag für fritsrol

Beiträge: 143
Registriert: 11.12.2002

Windows 10 64
Office 2016
Eplan P8 2.7 HF2
VS 2015
Medusa 2000i2

erstellt am: 20. Jan. 2015 11:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für DonChunior 10 Unities + Antwort hilfreich

So nochmal ohne Schreibfehler :

set share1=\\Server1\ShareA
set share2=\\Server2\ShareB

for /F "tokens=1,2 delims=" %%a IN ('net use z:') do @call :doShare %%a %%b

net use z: /delete
net use z: %shareneu%

goto :eof

:doShare

echo  .... %1 %2
if [%2]==[%share1%] set shareneu=%share2%
if [%2]==[%share2%] set shareneu=%share1%

goto :eof

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Rainer Schulze
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. im Ruhestand


Sehen Sie sich das Profil von Rainer Schulze an!   Senden Sie eine Private Message an Rainer Schulze  Schreiben Sie einen Gästebucheintrag für Rainer Schulze

Beiträge: 4419
Registriert: 24.09.2012

erstellt am: 20. Jan. 2015 11:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für DonChunior 10 Unities + Antwort hilfreich

>>Alles in einer Datei wäre mir am liebsten, hat dazu noch jemand eine Idee?

Das Problem besteht in der Identifizierung der aktuellen Verknüpfung.
Mit "net use z:" erhältst Du einen 5-Zeiler...

IF <Kriterium a> goto SWITCH_A
IF <Kriterium b> goto SWITCH_B
Abfangen, was geschehen soll, wenn KEIN Laufwerk verbunden ist...
:SWITCH_A
net use z: \\server_1\Freigabe_A
goto END
:SWITCH_B
net use z: \\server_2\Freigabe_B
:END

------------------
Rainer Schulze

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Grebe
Mitglied



Sehen Sie sich das Profil von Grebe an!   Senden Sie eine Private Message an Grebe  Schreiben Sie einen Gästebucheintrag für Grebe

Beiträge: 536
Registriert: 16.12.2002

LT-2021, Civil3D-2021, BricsCAD V18
HP-DesignJet T1200

erstellt am: 20. Jan. 2015 11:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für DonChunior 10 Unities + Antwort hilfreich

Oho !
"net use z:" statt "net use"
Auch noch was gelernt !
Mathias

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DonChunior
Mitglied
CAD-Systemadministrator


Sehen Sie sich das Profil von DonChunior an!   Senden Sie eine Private Message an DonChunior  Schreiben Sie einen Gästebucheintrag für DonChunior

Beiträge: 1149
Registriert: 09.09.2004

Windows 7 Enterprise x64 SP1

erstellt am: 20. Jan. 2015 11:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von fritsrol:

set share1=\\Server1\ShareA
set share2=\\Server2\ShareB

for /F "tokens=1,2 delims=" %%a IN ('net use z:') do @call :doShare %%a %%b

net use z: /delete
net use z: %shareneu%

goto :eof

:doShare

echo  .... %1 %2
if [%2]==[%share1%] set shareneu=%share2%
if [%2]==[%share2%] set shareneu=%share1%

goto :eof


Spitze, fritsrol!
Funktioniert wunderbar.

------------------
MfG, DonChunior

BOINC - Rechenleistung spenden

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DonChunior
Mitglied
CAD-Systemadministrator


Sehen Sie sich das Profil von DonChunior an!   Senden Sie eine Private Message an DonChunior  Schreiben Sie einen Gästebucheintrag für DonChunior

Beiträge: 1149
Registriert: 09.09.2004

Windows 7 Enterprise x64 SP1

erstellt am: 18. Mrz. 2015 08:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von DonChunior:
Spitze, fritsrol!
Funktioniert wunderbar.

fritsrol, ein Problem habe ich noch, wenn ich mittels des Batchfiles nun die verbundene Freigabe des Netzlaufwerks tausche, wird im Explorer trotzdem noch der Name der vorigen Freigabe angezeigt. Die Filesystem-Struktur entspricht aber schon derjenigen, die gerade neu verbunden wurde.
Das Aktualisieren der Ansicht mittels [F5] hilft hierbei nichts ...
Irgendeine Ahnung, wo hier noch das Problem liegt?

------------------
MfG, DonChunior

BOINC - Rechenleistung spenden

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fritsrol
Mitglied
CAD-Systemingenieur


Sehen Sie sich das Profil von fritsrol an!   Senden Sie eine Private Message an fritsrol  Schreiben Sie einen Gästebucheintrag für fritsrol

Beiträge: 143
Registriert: 11.12.2002

erstellt am: 18. Mrz. 2015 10:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für DonChunior 10 Unities + Antwort hilfreich

Hallo DonChunior,

prüfe mal ob der "Net Use" und der Explorer Prozess im selben Kontext (User, User mit Adminrechten usw.) läuft.

Was passiert wenn du den Explorer neu startest ?

Gruß
Roland

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz