Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

In BAT Datei bei Pfad Laufwerksname statt Laufwerksbuchstaben angeben?

Frage Entwicklung Batch & Shell

Mitglied: TankWart

TankWart (Level 1) - Jetzt verbinden

11.05.2007, aktualisiert 20.05.2007, 14397 Aufrufe, 10 Kommentare

Ich würde gerne per BAT Datei einen Ordner auf einer Externen Festplatte erstellen. Im Pfad soll aber der Laufwerksname statt dem Buchstaben verwendet werden.

Hallo zusammen,
Ich würde gerne per BAT Datei einen Ordner auf einer Externen Festplatte erstellen. Im Pfad soll aber der Laufwerksname statt dem Buchstaben stehen.

Problem ist halt, das der Buchstabe nicht immer gleich ist.

Also statt:
md N:\%date%

Irgendwie so:
md eindeutiger_lauwerksname:\%date%

Ist es generell möglich einen Laufwerksnamen zu übergeben??
Wie frage ich am besten ab ob das Laufwerk vorhanden ist?

Ich danke schon mal wieder im Voraus


Gruß

TankWart
Mitglied: miniversum
11.05.2007 um 12:29 Uhr
Du könntest mit einer Forschleife alle Laufwerksbuchstaben von A bis Z duchprüfen wie deren Datenträgerbezeichnung ist.
Die Datenträgerbezeichnung erhällst du indem du in einer anderen Forschleife die erste Zeile einer Dir Anweisung auf den jeweiligen Laufwerksbuschstaben durchschaust und das 6. token mit der gewünschten Datenträgerbezeichnung vergleichst.

Nur als grober Ablauf gedacht.

miniversum
Bitte warten ..
Mitglied: Lord-Helmi
11.05.2007 um 12:40 Uhr
Hallo,

oder du sorgst dafür, dass dein Laufwerk immer den selben Laufwerksbuchstabe bekommt. Ein kleines Tool hierfür: http://www.uwe-sieber.de/usbdlm.html

Gruß
Michael
Bitte warten ..
Mitglied: TankWart
11.05.2007 um 13:30 Uhr
erst mal danke für die schnellen Antworten.

Miniversum, hast du irgendwo eine Seite parat, wo ein Beispiel mit der Forschleife darin vorkommt??
Ich bin in Batch ein absoluter Anfänger, möchte mich ja auch garnicht so tief darin einarbeiten.

Brauche das ganze halt für einen Kunden.

Das Tool wär schon nicht schlecht, aber wie ist dass, wenn ich die Platte an einem anderen PC anschließe??
Müsste ich das Prog. auf jeden Rechner ausführen, wo ich die Platte so benutzen möchte um immmer den gleichen Buchstaben zu erhalten?

Und wie ist das mit Win98?
Auf der Website steht ja das es eigentlich nur mit Win XP und höher richtig läuft.


Ich danke schon mal wieder im Voraus

Gruß

TankWart
Bitte warten ..
Mitglied: miniversum
11.05.2007 um 14:11 Uhr
achso das soll auch auf win98 laufen? dann wirds schwierig mit batch. ab 2000 würds da besser gehen.

Könnte dir eine Batch zusammenbasteln. Aber die läuft auf 98 danahlt nicht.

miniversum
Bitte warten ..
Mitglied: TankWart
11.05.2007 um 14:15 Uhr
für das erste würde auch Win XP reichen, bräuchte es evtl. halt mal wieder auch auf einem Win98 Rechner.

Hättest du da ein Beispiel für mich?
Wär echt super.

Danke schon mal wieder im Voraus.

Gruß

TankWart
Bitte warten ..
Mitglied: miniversum
11.05.2007 um 15:44 Uhr
Versuchs mal damit:
01.
@echo off & setlocal enabledelayedexpansion 
02.
set "name=Laufwerksbezeichnung" 
03.
 
04.
for %%L in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do ( 
05.
dir %%L:>NUL 2>NUL && ( 
06.
set "label=" 
07.
FOR /F "tokens=6 delims= " %%N in ('dir %%L:') do if not defined label set "label=%%N" 
08.
if !label! equ %name% ( 
09.
set Lw=%%L 
10.
11.
12.
13.
 
14.
ECHO md %Lw%:\%date%
In der zweiten Zeile mußt du halt die Laufwerksbezeichnung anpassen. Das Laufwerk steht dann in der Variabeln %Lw%. Gibt es mehrere Laufwerke mit der gleichen bezeichnung wird das Laufwerk mit dem Buchstaben verwendet der im Alphabet am weitesten hinten ist.
Unten steht dein Befehl ECHO md %Lw%:\%date% dann noch mit ECHO drin das du siehst das es so gehen sollte. Das ECHO kannst du ja dan entfernen wenn es so geht wie du willst.

miniversum
Bitte warten ..
Mitglied: Biber
11.05.2007 um 18:35 Uhr
Moin TankWart,

wie miniversum schon angedeutet hat... unter Win9X wird es umständlicher.
Unter Win2k und höher geht es mit einem Einzeiler.

Unter Nicht-Win9x: bau diese angepasste FOR-Zeile in den Batch mit ein:

01.
::dein KopierBatch.bat 
02.
@echo off 
03.
.... 
04.
 
05.
for %%i in (C D E F G X Y Z) do if exist %%i: dir %%i:xx 2>nul|find /i "datenträger"|find "System XP"|find /i "%%i:">nul && Set DasLaufwerk=%i: 
06.
 
07.
REM Falls ermitelbar, ist hier %dasLaufwerk% gefunden
Erläuterung:
In diesem Beispiel werden die willkürlich angenommen Laufwerksbuchstaben C D E F G X Y Z geprüft (nicht alle existieren) und überprüft, welches davon "System XP" heißt.
Das ist bei mir auf Laufwerk C: der Fall, heraus kommt also "Set DasLaufwerk=C:"
Unter der Variable %DasLaufwerk% kannst Du also C: ansprechen

Test zum Copy & Paste am CMD-Prompt:

01.
>for %i in (C D E F G X Y Z) do @if exist %i: dir %i:xx 2>nul|find /i "datenträger"|find "System XP" 
02.
|find /i "%i:">nul && @echo Set DasLaufwerk=%i: 
03.
Set DasLaufwerk=C:
Unter Win9x müsstest Du leider auf das "&&"-Zeichen verzichten und daher das Ganze in Einzelzeilen auseinanderziehen:

01.
::dein W9xKopierBatch.bat 
02.
@echo off 
03.
.... 
04.
 
05.
if exist C: dir C::xx 2>nul|find /i "datenträger"|find "System XP"|find /i "C:">nul  
06.
IF not errorlevel 1 set Daslaufwerk=C: 
07.
IF not errorlevel 1 goto :LwFound 
08.
 
09.
if exist D: dir D::xx 2>nul|find /i "datenträger"|find "System XP"|find /i "D:">nul  
10.
IF not errorlevel 1 set DasLaufwerk=D: 
11.
IF not errorlevel 1 goto :LwFound 
12.
.... 
13.
... 
14.
:LwFound 
15.
.... 
16.
REM hier ist %DasLaufwerk% ermittelt, falls es zu finden ist 
17.
 
18.
.... 
19.
 
[ungetestete Skizzen]

Gruss
Biber
Bitte warten ..
Mitglied: TankWart
20.05.2007 um 10:23 Uhr
wow,
danke für die Antworten, war im Urlaub und werde sie morgen gleich mal testen.

Gruß
TankWart
Bitte warten ..
Mitglied: yakazaa
21.10.2011 um 13:22 Uhr
Hi zusammen,
ich suche derzeit ein gleiches Skript und war froh dieses gefunden zu haben.

Leider klappt das bei mir nicht so recht:

Ich suche z.B. nach der Bezeichnung DATA (Es gibt nur eine Partition die bei mir so heißt, das Wort DATA kommt auch in keiner anderen Bezeichnung vor), liegt auf dem Buchstaben D:
Das Skript gibt mir aber "j_:\ " aus.

1.) Wieso j statt d ?
2.) Wieso das Leerzeichen hinter dem Buchstaben ?

Grüße aus Dortmund,
Dominik

EDIT:
Fehler 1 gefunden:
Das Laufwerk J: ist bei mir ein Netzlaufwerk welches auf \\Computer-1\DATA gemappt ist.
Obwohl ich es im Arbeitsplatz umbenannt hatte, heißt die Freigabe natürlich immernoch DATA

Aber wie steht es um Fehler 2 ?
Bitte warten ..
Mitglied: Biber
21.10.2011 um 20:00 Uhr
Moin yakazaa,

Zitat von yakazaa:
Hi zusammen,
1.) Wieso j statt d ?
2.) Wieso das Leerzeichen hinter dem Buchstaben ?

Grüße aus Dortmund,
Dominik

EDIT:
Fehler 1 gefunden:
Das Laufwerk J: ist bei mir ein Netzlaufwerk welches auf \\Computer-1\DATA gemappt ist.
Obwohl ich es im Arbeitsplatz umbenannt hatte, heißt die Freigabe natürlich immernoch DATA

Aber wie steht es um Fehler 2 ?

Fehler 2 ist erklärlich, wenn versehentlich ein Leerzeichen (SPACE) am Ende von miniversums Zeile 09 steht.
01.
REM STREICHE die alte Zeile 09 
02.
set Lw=%%L  
03.
REM SETZE als neue Zeile 09 
04.
set "Lw=%%L" 
Grüße und schönes Wochenende
Biber
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Windows Server
gelöst Sichtbares Ausführen einer BAT-Datei mittels GPOs (10)

Frage von DasWombat1993 zum Thema Windows Server ...

Windows 7
gelöst Bat Datei erstellen für Homeroot (2)

Frage von leon22 zum Thema Windows 7 ...

Batch & Shell
Mehrere.csv Dateien zusammenfügen zu einer Datei mit bat (4)

Frage von Piotrney zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...