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

Wenn in set p nur der Laufwerksbuchstabe, anstatt des Verzeichnisses, eingegeben wird, dann nach der dazugehörigen Variable Doppelpunkt stellen

Frage Entwicklung Batch & Shell

Mitglied: evinben

evinben (Level 2) - Jetzt verbinden

23.09.2011, aktualisiert 15:52 Uhr, 3334 Aufrufe, 8 Kommentare

Grüße,
ich komme an einem bestimmten Punkten nicht weiter und brauche wieder eure Hilfe:
Mit
01.
set /p "Quelle=Geben Sie das Quell-Verzeichnis bzw. den Laufwerksbuchstaben mit den Windows-Installationsdaten ein: " 
02.
dir %Quelle%
wird der Benutzer zur Eingabe des Verzeichnisses oder des Laufwerksbuchstabens aufgefordert.
Wie soll die Befehlszeile aufgebaut sein, wenn anstatt eines Verzeichnisses ein Laufwerkbuchstabe auch mal ohne Doppelpunkt eingegeben werden darf? Da der Doppelpunkt für die vollständige Syntax wichtig ist, muss er nach der Variable (%Quelle%) bei Bedarf hinzugefügt werden.

(Mit dem Schalter „/i“ werde ich zusätzlich jedem Befehl, der diesen unterstützt, die Groß-Kleinschreibung erlauben).

Danke sehr für die Unterstützung.
Mitglied: bastla
23.09.2011 um 16:04 Uhr
Hallo evinben!

Soferne nur ein Laufwerksbuchstabe eingegen wurde, enthält %Quelle% nur ein Zeichen - daher:
01.
if not defined Quelle echo Es wurde nichts eingegeben & goto :eof 
02.
if "%Quelle:~1%"=="" set "Quelle=%Quelle%:"
Grüße
bastla
Bitte warten ..
Mitglied: evinben
23.09.2011 um 17:43 Uhr
Hallo bastla,

wie soll ich mich nicht freuen? Einer mag mich hier (Spaß).

So wird es also gehandhabt. Da muss ich noch paar Brötchen verdauen.
Ich werde es gleich ausprobieren und werde mich bald wieder melden.

Danke schön!
Bitte warten ..
Mitglied: evinben
23.09.2011 um 18:57 Uhr
es klappt wunderbar, verstehe leider die Funktion nicht. Wenn ich e: eingebe, dann zeigt es mir als Rückmeldung folgende Zeile an:
if ":\Programm" == "" set "Quelle=e:\Programm:"
Für mich ist nicht verständlich, warum in der ersten Variable ("%Quelle:~1%") nur ":\Programm" - also ohne dem Laufwerksbuchstaben davor - angezeigt wird, aber in der zweiten Variable mit e vollständig übergeben wird. Woher kommt plötzlich dieses e?
(eigentlich " ;dieser e", weil es " ;Der Buchstabe" und nicht " ;Das Buchstabe" ist, aber egal).
Bieber, wie so kommt hier die Formatierung durcheinander - ich gebe nur die Schrägstriche, ohne Semikolon?

Etwas anderes:
Wie kann ich mit echo die Ausgabe eines Befehls anzeigen lassen?
Folgendes habe ich versucht, und auch mit FOR ist es mir nicht gelungen.
01.
Laufwerke=fsutil fsinfo drives 
02.
echo folgende Laufwerke sind verfügbar: "%Laufwerke%"
Was für Grundregeln beachte ich da wieder nicht?
Bitte warten ..
Mitglied: 60730
23.09.2011 um 19:19 Uhr
moinsen...

Wir verdauen hier nur ganze Tiere, keine Teile...

Wenn in set p nur der Laufwerksbuchstabe, anstatt des Verzeichnisses, eingegeben wird, dann nach der dazugehörigen Variable Doppelpunkt stellen
Das war deine Fragestellung, die Meister Bastla dir wie folgt beantwortet hat:

Soferne nur ein Laufwerksbuchstabe eingegen wurde, enthält %Quelle% nur ein Zeichen - daher:
if "%Quelle:~1%"=="" set "Quelle=%Quelle%:"

passt doch zur Frage....

Bastla <> Biber
Biber <>Bieber

Was für Grundregeln beachte ich da wieder nicht?
Die allererste stelle deine Frage so, das Sie auch dein Problem beschreibt, du kaufst doch auch keinen Presslufthammer, wenn dich deine Frau zum Bäcker schickt...
Bitte warten ..
Mitglied: Skyemugen
23.09.2011 um 19:22 Uhr
Aloha,

Für mich ist nicht verständlich, warum in der ersten Variable ("%Quelle:~1%") nur ":\Programm" - also ohne dem Laufwerksbuchstaben davor - angezeigt wird, aber in der zweiten Variable mit e vollständig übergeben wird. Woher kommt plötzlich dieses e?

Ganz einfach: Wenn du e: eingibst, ist Zeichen #1 [e] und Zeichen #2 ist [Doppelpunkt], da in "%Quelle:~1%" die erste Stelle übersprungen wird aber ungleich leer ist, bleibt die ursprüngliche Variable unverändert und heißt dann e:

Denn die Abfrage lautet ja: Wenn Variable-ab-Stelle-1 leer ist, dann setze einen Doppelpunkt hinter die Variable.
Veranschaulicht: Eingabe: e > if "" == "" set "Quelle=e:"

Bieber, wie so kommt hier die Formatierung durcheinander - ich gebe nur die Schrägstriche, ohne Semikolon?
au weia, hoffentlich liest er das nicht *gg*

Wie kann ich mit echo die Ausgabe eines Befehls anzeigen lassen?
Folgendes habe ich versucht, und auch mit FOR ist es mir nicht gelungen.
01.
for /f "delims=" %%i in ('fsutil fsinfo drives') do echo %%i
...

Laufwerke=fsutil fsinfo drives
sind wir hier in VisualBasic oder wie? ^_^

greetz André
Bitte warten ..
Mitglied: evinben
23.09.2011 um 20:20 Uhr
Gruß TimoBeil,
Wir verdauen hier nur ganze Tiere, keine Teile...
Sorry, das war aber versehentlich, klingt aber gar nicht so schlecht, oder? Freundlicher als Bibbb...

Das war deine Fragestellung, die Meister Bastla dir wie folgt beantwortet hat:
hm..

Skyemugen, jetzt begreife ich es allmählich, generell in der Batch-Welt, bin ich aber noch ein kleiner Frischling.
Wow, was für tolle Leerer ich hier habe.

sind wir hier in VisualBasic oder wie? ^_^
So ist das. Bei mir kommt es alles durcheinander und mit deiner Hilfe habe ich es realisiert, wie ich überhaupt unbewusst auf die Idee gekommen bin. Ich war mir absolut sicher, dass es funktionierte. Ja klar, aber wenn die Dateierweiterung .vbs wäre. Ein Kumpel, der mit VB ausgewachsen ist, hat mir mitgeteilt, dass das seine Lieblingssprache wäre. Ich habe oft drüber nachgedacht und denke ab und zu immer so ernst drüber. Ehrlich gesagt passt mir a Bätch'le lieber - mit meinen neutralen Kenntnisse natürlich so als Neuling betrachtet. Habe aber irgendwie vom lesen im i-net den globalen Eindruck, dass wenn jemand sich in irgendeiner Aufgabe vertieft, wird dem Batch sofort unflexibel. Soweit bin ich aber noch lange nicht. Ob das so mit meinem Empfunden stimmt...?
Egal, ich mach Batch und ich bin begeistert, was ich alles so mit meinen Träumen verpasst habe.

Hey, wenn mein Batch endlich fertig ist (das wäre mein längster Batch bisher, oder " ;das Batch"???), und wenn ihr neugierig seid, dann kann ich es hier gerne veröffentlichen. Es wird eventuell für euch etwas unlogisch aufgebaut erscheinen, aber vielleicht freut ihr euch drüber. Ich wäre selbst sehr gespannt, was ihr so dazu sagen würdet und noch mich sehr freuen, wenn jemandem das Programmchen vom Nutzen wäre (falls funktioniert!)

Bis bald
Bitte warten ..
Mitglied: mathe172
23.09.2011 um 21:44 Uhr
Hallo,
[OT]
Wow, was für tolle Leerer ich hier habe.
Ich hoffe ja mal nicht, dass sie dir den Kopf gleich mitleeren
[/OT]
MfG,
Mathe172
Bitte warten ..
Mitglied: evinben
24.09.2011 um 08:17 Uhr
Ich hoffe ja mal nicht, dass sie dir den Kopf gleich mitleeren.
;), danke für den Fehler-Tipp. Nein, mit "leerem Kopf" bin ich aus diesem Forum noch nie rausgekommen.
Schau..., meine Grammatikkenntnisse sind ein bisschen verstärkt worden. Eins ist es streng zu wissen und anderes ist es im Alltag mit Leichtigkeit umzusetzen. Daher danke nochmal für jeden Hinweis.
Eigentlich sollte speziell der genannte Fehler mit aufgefallen sein. Ich stelle fest, dass ich mich zu viel auf mein Grammatikschreibprüfungsprogramm verlasse, ohne dabei gründlicher nachzukontrollieren. Also dass ich beim Vertippen und anschließendem Rechtsklick und „Wortauswahl“, mich überbeeile, ohne dabei die kleinen Unterschiede in den vorgeschlagenen Wörtern zu bemerken. So habe ich oft ein Wort mit völlig falscher Bedeutung ausgewählt, so dass nicht selten es ganz peinlich endete. Ich werde mich bemühen gestärkter darauf zu achten.
Einen feinen Samstag euch allen.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
JavaScript
AngularJS Variable über Input in Funktion ausführen

Frage von badkilla zum Thema JavaScript ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Batch & Shell
gelöst Selected Gridview Value in Variable schreiben (4)

Frage von reissaus73 zum Thema Batch & Shell ...

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

Frage von Xaero1982 zum Thema Microsoft ...

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

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...