[Win-CMD] auf Netzwerkpfad prüfen

OP #5565257
Lesenswert?
• ▲
▼
Hi,
ich will gerade eine Batch erstellen, die in ihrem Verzeichnis das eine 
oder andere anstellen soll. Dass kann/darf sie aber nicht, wenn aus 
einem Netzwerkpfad heraus gestartet wird.

Wie prüfe ich in einer Batch-File, ob es sich bei einem Verzeichnis um 
ein lokales Verzeichnis, oder um einen Netzwerkpfad handelt!

Zusatzaufgabe: Ich habe auch Probleme, wenn die Batch in einem 
Firmennetzwerk ausgeführt wird, und sich die Batch dann in den "Eigenen 
Dateien" des Benutzers gestartet wird, welche sich eigentlich auf dem 
Firmenserver befinden. (Active Directory?).
Die Batch darf nur rein lokal ausgeführt werden.

Warum das ganze? (Evtl. ergeben sich ja noch vollkommen andere 
Möglichkeiten)

Ich habe ein "DokuWiki on a Stick" 
(https://www.dokuwiki.org/install:dokuwiki_on_a_stick) aufgesetzt. Dort 
ist ein Apache-Webserver mit dabei, welcher lokal startet und dann das 
DokuWiki lokal verfügbar macht (einen Firmennetz internen Webserver 
bekomme ich nicht, insbesondere bei dem aktuellen Stand des Wikis). Der 
Apache-Server startet aber nur von einem lokalen Verzeichnis, das Wiki 
soll aber trotzdem auf ein Netzwerkverzeichnis synchronisiert werden.
Das Wiki wird mit einer mitgelieferten Batchfile gestartet, mit welcher 
der Apacheserver auch beendet wird. Ich kann also das Starten und 
Beenden des Wikis gut abfangen und möchte dann mit zwei Robocoypskripts 
die Änderungen beim Starten nach lokal (aka Arbeitsverzeichnis der 
Batchfile), und beim Beenden zum Netzwerkverzeichnis spiegeln.
Zudem soll dann eine "Lockfile" erstellt werden, die, versehen mit einem 
Warnhinweis, das Spiegeln beim Beenden verhindert wenn das Wiki bereits 
woanders gestartet wurde.

VG
da_user
Persönliche Seite #5565270
Lesenswert?
• ▲
▼
Wenn ein "Netzwerkpfad" ein UNC-Pfad ist, kannst Du das leicht anhand 
des ersten Zeichens des Pfades verifizieren. Lokale Pfade fangen mit 
einem Laufwerksbuchstaben an, UNC-Pfade fangen mit einem Backslash '\' 
an.

Wenn der "Netzwerkpfad" ebenfalls einen Laufwerksbuchstaben hat, kannst 
Du mit "net use" eine Liste der zugewiesenen Laufwerksbuchstaben 
bestimmen.

Taucht der Laufwerksbuchstabe Deines Pfades in dieser Liste auf, kannst 
Du von einem Netzwerkpfad ausgehen.

In vielen Fällen kann man auch einfach jeden anderen Buchstaben als 'C' 
abweisen, aber natürlich nicht in jedem.

Matthias S. schrieb:
> Ich habe auch Probleme, wenn die Batch in einem Firmennetzwerk
> ausgeführt wird, und sich die Batch dann in den "Eigenen Dateien" des
> Benutzers gestartet wird, welche sich eigentlich auf dem Firmenserver
> befinden. (Active Directory?).

In so einem Fall beginnt der Pfad mit dem Inhalt der Umgebungsvariablen 
%USERPROFILE%.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.