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

USB Stick aktuellen Laufwerksbuchstaben auslesen

Frage Entwicklung Batch & Shell

Mitglied: Sangeorgean

Sangeorgean (Level 1) - Jetzt verbinden

17.10.2008, aktualisiert 18.10.2008, 11362 Aufrufe, 6 Kommentare

Hallo Ihr Lieben,

in Batch mit "%~d0" kann man ja den aktuellen Laufwerksbuchstaben auslesen was soweit ok ist.

Ich habe das Problem nachdem ich die .bat zu .exe compiliere (habe mehrere freeware Programme ausprobiert, denke nicht das es daran liegt), erkennt "%~d0" nur noch laufwerk C: .


Über jegliche Hilfe würde ich mich sehr freuen


VG

Adrian
Mitglied: Iwan
17.10.2008 um 13:31 Uhr
hallo,

wenn die .EXE von dem Stick ausgeführt wird, hilft vielleicht %CD% weiter
%CD% gibt den aktuellen Pfad und Ordner aus
Bitte warten ..
Mitglied: Sangeorgean
17.10.2008 um 13:45 Uhr
Vielen Dank für die rasche Antwort... Als Ausgabe bekomme ich E:\ ich bräuchte aber nur E: für meinen Proggi.

Gibt es da eine Möglichkeit nur die ersten 2 Zeichen in die Variable zu übergeben?


VG

Adrian
Bitte warten ..
Mitglied: ArminWeinmann
17.10.2008 um 14:31 Uhr
Hallo Adrian,

ich vermute es liegt daran, dass die BAT --> EXE Konverter (jedenfalls die die ich ausprobierte) die Batchdatei lediglich einpacken und beim ausführen ins Temp-Verzeichnis des Rechners extrahieren und dort starten. In dem Fall wird dann vermutlich immer C: gefunden werden da Temp meist auf C: liegt.

Hilft dir wahrscheinlich nicht bei der Lösung des Problems, aber vielleicht zum Verständnis...


Gruss Armin
Bitte warten ..
Mitglied: Biber
17.10.2008 um 16:05 Uhr
Moin Sangeorgean,

es gibt mehrere Möglichkeiten, Deinen String "E:\" per Batch zu kürzen auf die ersten 2 Zeichen oder das Zeichen "\" durch "nichts" zu ersetzen oder oder oder.

Aber falls Du dieses "E:\" wirklich aus der Variable %CD% holst, dann hast Du keinen abschließenden "\".

01.
>echo %cd% 
02.
D:\temp 
03.
for %i in ("%CD%") do @echo %~di 
04.
D:
Sonst poste bitte die anderthalb Zeilen mit "Ermittlung" des Lw-Buchstabens bis inklusive Verwendung im Befehl, in dem Du den brauchst.

Grüße
Biber

P.S. WTF benutzt ihr so gerne einen Batch2Exe-Blender, bevor der eigentliche Batch funktioniert?
Bitte warten ..
Mitglied: Sangeorgean
18.10.2008 um 09:49 Uhr
Hallo Bieber,

das ist genau was ich brauche. Der Rest liegt nun an meiner Unwissenheit ;O)..


Ich bräuchte statt dem do @echo %%~di , in einem:


Vom loginschen so, aber es funktioniert nicht:

for %%i in ("%CD%") do @Set "l=%%~di"
echo %l%

Also das ich den Laufwerksbuchstaben ohne "\" in einer Variable habe...


Vielen Dank schon mal im Vorraus

Adrian
Bitte warten ..
Mitglied: Sangeorgean
18.10.2008 um 10:11 Uhr
Erstmal möchte ich mich bei Euch für die super Ideen bedanken.

Wenn Ihr in der nähe seit gehem wir mal einen Bier trinken. .. Ich find Eure schnelle Hilfe einfach nur klasse.

Ich habe mit Hilfe von Bieber es rausgefunden:


for /F "eol=# delims=#" %%i in ("%CD%") do @Set "z=%%~di"

echo %z%


Die %z% Variable beinhaltet nun den Laufwerksbuchstaben ohne "\" und es macht keine Probleme bei compilieren zu .exe.

Wünsche Euch noch ein schöne WE


VG

Adrian
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
IDE & Editoren
USB STICK Datei AUTOMATISCH beim anschliessen auf fremden PC öffnen (9)

Frage von Jwanner83 zum Thema IDE & Editoren ...

Windows Tools
USB-Stick nur Lesezugriff möglich? (11)

Frage von Nathi1998 zum Thema Windows Tools ...

Speicherkarten
USB-Stick laut Windows und Linux belegt, aber kein Inhalt zu sehen (5)

Frage von Pago159 zum Thema Speicherkarten ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...