amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Amiga, AmigaOS 4 > Befehl zur Namens-Ausgabe [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

10.02.2006, 19:02 Uhr

julius
Posts: 2255
Nutzer
Gibt es ein AmigaDos-Befehl, der als Ergebnis den Namen(Bezeichnung) der Diskette im Laufwerk DF0: ausgibt?

[ - Antworten - Zitieren - Direktlink - ]

10.02.2006, 19:12 Uhr

amigolas
Posts: 202
[Ex-Mitglied]
@julius:

Wüsste nicht, wo man sowas kaufen kann. :lach:

[ - Antworten - Zitieren - Direktlink - ]

10.02.2006, 19:20 Uhr

Maja
Posts: 15429
Nutzer
Thread verschoben.

[ - Antworten - Zitieren - Direktlink - ]

10.02.2006, 19:29 Uhr

Brunadi
Posts: 1365
Nutzer
@Maja:

Wenn Du die Diskette ins Laufwerk gibst, erscheint doch auf der
Workbench das Diskettensymbol mit dem Namen darunter.

Gruß Brunadi :rotate:

--
http://brunadi.8ung.at




[ - Antworten - Zitieren - Direktlink - ]

10.02.2006, 19:32 Uhr

cgutjahr
Posts: 2783
[Administrator]
info df0:

--
Gutjahrs Amiga Seiten

[ - Antworten - Zitieren - Direktlink - ]

10.02.2006, 21:58 Uhr

julius
Posts: 2255
Nutzer
Der Befehl info gibt aber vielmehr aus als nur den Namen der Diskette in df0:
Was ich suche, ist folgendes:
Befehl DF0: = Diskettenname

[ Dieser Beitrag wurde von julius am 10.02.2006 um 22:00 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

10.02.2006, 22:30 Uhr

Palgucker
Posts: 1342
Nutzer
@julius

Z.B.

cd df0:
cd

Das letzte cd gibt dir den Volumennamen zurück.

mfg Palgucker

P.s.

@ Maja

Wieso verschiebst du diesen Thread? Ich wollte das doch gerade verkaufen 8o ;)

[ Dieser Beitrag wurde von Palgucker am 10.02.2006 um 22:35 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

10.02.2006, 22:58 Uhr

julius
Posts: 2255
Nutzer
Zitat:
Original von Palgucker:
@julius

Z.B.

cd df0:
cd

Das letzte cd gibt dir den Volumennamen zurück.

mfg Palgucker

P.s.

@ Maja

Wieso verschiebst du diesen Thread? Ich wollte das doch gerade verkaufen 8o ;)

[ Dieser Beitrag wurde von Palgucker am 10.02.2006 um 22:35 Uhr geändert. ]


@Palgucker:
Danke, das bringt mich ein schönes Stück weiter.
julius

[ - Antworten - Zitieren - Direktlink - ]

11.02.2006, 09:53 Uhr

julius
Posts: 2255
Nutzer
Die Ausgabe des Batch Files (copyright by Palgucker - grins)
cd df0:
cd

erfolgt im CLI.
Kann ich die Ausgabe mit SetEnv auch in einer Variablen ablegen?

[ - Antworten - Zitieren - Direktlink - ]

11.02.2006, 11:08 Uhr

Palgucker
Posts: 1342
Nutzer
@ julius

Zitat:
Kann ich die Ausgabe mit SetEnv auch in einer Variablen ablegen?

Jupp! Z.B.

setenv Volname 'cd'

Setzt ENV:Volname
mit z.B.

Echo $Volname

kannst du dir den Inhalt der Variable ausgeben lassen.

Da das Foren-PHP nun leider Akzent in Apostroph wandelt, musst du die Anführungsstriche um cd auswechseln, da es sonst nicht funktioniert.

Zitat:
Die Ausgabe des Batch Files (copyright by Palgucker - grins)

Ich habe meine Verkaufsabsichten noch mal überdacht und eingestellt.
Hiermit erkläre ich alles wieder zu "Open Source". 8)

mfg Palgucker

[ - Antworten - Zitieren - Direktlink - ]

11.02.2006, 11:30 Uhr

Harague
Posts: 599
Nutzer
gibs es sowas, wenn ich eine Diskette reinschiebe, das mir dann der Amiga per Sprachausgabe sagt wie die Diskette heist?
--
Suche Videoadapter für ZII A500 Board (Mikronik) oder ein paar Bilder für den Nachbau. Hat noch jemand nen min. einen 030er Turbo für A2000 übrig?
- Micronik 500T/32MB/2MB/E-Matrix
- A2000 Rev.6.4 Baustelle

[ - Antworten - Zitieren - Direktlink - ]

11.02.2006, 11:49 Uhr

CrazyIcecap
Posts: 143
Nutzer
indem man die variable an "sayit" übergibt?
--
Meister Yoda: Die andere Seite sehr dunkel ist.
Obi Wan Kenobi: Iss deinen Toast und mecker nicht!

[ - Antworten - Zitieren - Direktlink - ]

11.02.2006, 12:02 Uhr

julius
Posts: 2255
Nutzer
Zitat:
Original von Palgucker:
@ julius

Zitat:
Kann ich die Ausgabe mit SetEnv auch in einer Variablen ablegen?

Jupp! Z.B.

setenv Volname 'cd'

Setzt ENV:Volname
mit z.B.

Echo $Volname

kannst du dir den Inhalt der Variable ausgeben lassen.

mfg Palgucker


Danke, mich aber noch stört, ist der Doppelpunkt.
Wie kriege ich den weg?

Julius

[ - Antworten - Zitieren - Direktlink - ]

11.02.2006, 13:26 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von julius:
Danke, mich aber noch stört, ist der Doppelpunkt.
Wie kriege ich den weg?


Tja, Kommandos für Zeichenkettenmanipulation gibt's im AmigaDOS nicht. Aber Du kannst Dir mit dem Umweg über ARexx behelfen:
Shell code:
cd dh1:
set dname 'cd'
set dname 'rx 'say strip("$dname","T",":")''
echo "$dname"


Also, die Anführungszeichen... Vielleicht zeigt Dein Browser das hier richtig an:
set dname ‘rx ′say strip("$dname","T",":")′‘
Die äußeren von links oben nach rechts unten; die inneren senkrecht oder tendenziell rechts oben nach unten...

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

11.02.2006, 13:29 Uhr

Cj-Stroker
Posts: 1343
Nutzer
Hi Julius,

Meinst du nicht, daß es da angebrachter wäre eine Einfache Programmiersprache wie z.B. Basic für sowas zu bemühen?

Das narrator.device ist da ja auch einfach anzusprechen.

MFG

Cj-Stroker
--
Webmaster of Amiforce and Abakus-Design
http://www.Amiforce.de
(Fight For Amiga)

http://www.cj-stroker.de/Abakus/
(World of AMHuhn and more)

Forum:
http://amiforce-forum.cj-stroker.de

[ - Antworten - Zitieren - Direktlink - ]

11.02.2006, 14:04 Uhr

Palgucker
Posts: 1342
Nutzer
@ Holger
Zitat:
Tja, Kommandos für Zeichenkettenmanipulation gibt's im AmigaDOS nicht

Manchmal gibts auch Überaschungen, da ich gerade im Echo-Befehl doch noch 'ne "hübsche" Möglichkeit entdeckt habe.
sieht etwa so aus:

SetEnv VolNameLen 'List ENV:VolName lformat %l'
SetEnv VolNameLen 'Eval $VolNameLen - 1'
SetEnv VolName 'Echo $VolName First 1 Len $VolNameLen noline'
Echo $VolName

mfg Palgucker

[ - Antworten - Zitieren - Direktlink - ]

11.02.2006, 14:17 Uhr

julius
Posts: 2255
Nutzer
Zitat:
Original von Holger:
Zitat:
Original von julius:
Danke, mich aber noch stört, ist der Doppelpunkt.
Wie kriege ich den weg?


Tja, Kommandos für Zeichenkettenmanipulation gibt's im AmigaDOS nicht. Aber Du kannst Dir mit dem Umweg über ARexx behelfen:
Shell code:
cd dh1:
set dname 'cd'
set dname 'rx 'say strip("$dname","T",":")''
echo "$dname"


Also, die Anführungszeichen... Vielleicht zeigt Dein Browser das hier richtig an:
set dname ‘rx ′say strip("$dname","T",":")′‘
Die äußeren von links oben nach rechts unten; die inneren senkrecht oder tendenziell rechts oben nach unten...

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.


@Holger:
Zunächst mal besten Dank
Wahrscheinlich habe ich nicht die richtigen "Anführungszeichen"
gewählt(gefunden), denn in der Zeile
set dname 'rx 'say strip("$dname","T",":")''
kommt diue Meldung: Command returtned 5/1: Programm not found
Julius


[ - Antworten - Zitieren - Direktlink - ]

11.02.2006, 15:14 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von julius:
Wahrscheinlich habe ich nicht die richtigen "Anführungszeichen"
gewählt(gefunden), denn in der Zeile
set dname 'rx 'say strip("$dname","T",":")''
kommt diue Meldung: Command returtned 5/1: Programm not found


Dann waren die äußeren schon mal richtig, denn die Meldung weist auf ARexx hin. Die inneren müßten die sein, die man mit Alt+ä erhält.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

11.02.2006, 15:17 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von Palgucker:
Manchmal gibts auch Überaschungen, da ich gerade im Echo-Befehl doch noch 'ne "hübsche" Möglichkeit entdeckt habe.


Überraschungen sind der Feind des Programmierers...
Man möchte schon wissen, ab welcher OS-Version das eigene Skript funktioniert.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

11.02.2006, 15:29 Uhr

julius
Posts: 2255
Nutzer
Zitat:
Original von Palgucker:
@ Holger
Zitat:
Tja, Kommandos für Zeichenkettenmanipulation gibt's im AmigaDOS nicht

Manchmal gibts auch Überaschungen, da ich gerade im Echo-Befehl doch noch 'ne "hübsche" Möglichkeit entdeckt habe.
sieht etwa so aus:

SetEnv VolNameLen 'List ENV:VolName lformat %l'
SetEnv VolNameLen 'Eval $VolNameLen - 1'
SetEnv VolName 'Echo $VolName First 1 Len $VolNameLen noline'
Echo $VolName

mfg Palgucker


@Palgucker:
Du solltest Dir die doch Rechte sichern, das klappt super.
Ich habe das in eine Routine eingebaut, mit der mithilfe von dms
Disketten komprimiert werden und das dms-File dank Deiner Arbeit automatisch den Name der komprimierten Diskette erhält.
Ich werde das morgen hier posten, weil ich jetzt weg muss.
Eine Kleinigkeit ist da noch:
Wenn im Diskettennamen ein Leerzeichen ist, dann meckert dms.
zB: bei der Bezeichnung IDE-fix 97. Wenn man das in IDE-fix97
umbenennt klappt es.
Trotzdem: Du bist gut.
Julius


[ - Antworten - Zitieren - Direktlink - ]

11.02.2006, 16:28 Uhr

Palgucker
Posts: 1342
Nutzer
@ Holger

Zitat:
Überraschungen sind der Feind des Programmierers...
Man möchte schon wissen, ab welcher OS-Version das eigene Skript funktioniert.


Du wirst überrascht sein, echo unterstützt die Optionen First und Len wohl schon seit mindestens WB1.3. Dort würde ich die Lauffähigkeit der Scripte aber im allgemeinen stark anzweifeln.

mfg Palgucker



[ - Antworten - Zitieren - Direktlink - ]

11.02.2006, 17:33 Uhr

Palgucker
Posts: 1342
Nutzer
@ julius
Zitat:
Wenn im Diskettennamen ein Leerzeichen ist, dann meckert dms.
zB: bei der Bezeichnung IDE-fix 97. Wenn man das in IDE-fix97
umbenennt klappt es.


Vielleicht klappt es so:

SetEnv VolName "*"'cd'*""
SetEnv VolNameLen 'List ENV:VolName lformat %l'
SetEnv VolNameLen 'Eval $VolNameLen - 3'
SetEnv VolName "*"'Echo $VolName First 1 Len $VolNameLen noline'*""
;nur zur Probesichtung
Type ENV:VolName

mfg Palgucker

[ - Antworten - Zitieren - Direktlink - ]

13.02.2006, 09:38 Uhr

julius
Posts: 2255
Nutzer
Zitat:
Original von Palgucker:
@ julius
Zitat:
Wenn im Diskettennamen ein Leerzeichen ist, dann meckert dms.
zB: bei der Bezeichnung IDE-fix 97. Wenn man das in IDE-fix97
umbenennt klappt es.


Vielleicht klappt es so:

SetEnv VolName "*"'cd'*""
SetEnv VolNameLen 'List ENV:VolName lformat %l'
SetEnv VolNameLen 'Eval $VolNameLen - 3'
SetEnv VolName "*"'Echo $VolName First 1 Len $VolNameLen noline'*""
;nur zur Probesichtung
Type ENV:VolName

mfg Palgucker


@ Palgucker:
Wenn der Name der Diskette IDE-fix 97 ist, liefert Echo $Volname = IDE-fix 97. Der Inhalt der Variablen selbst ist aber "IDE-fix 97". Die Anführungszeichen werden in der Ausgabe beim Echo-Befehl unterdrückt.
In der dms Befehlskette für das Komprimieren steht dann dms read RAM:$volname.dms und der Dateiname ist dann "IDE-fix 97".dms.
In Dateinamen akzeptiert dms aber keine Anführungszeichen.

[ - Antworten - Zitieren - Direktlink - ]

13.02.2006, 12:40 Uhr

Palgucker
Posts: 1342
Nutzer
@ julius

Wie du die Befehlskette zusammenfügst, weiss ich natürlich nicht, aber wenn die Anführungszeichen mitten im DateiPfad stehen, taugt das so nichts (Das Skript meinerseits).
Dann müsste es eher so aussehen:

cd DF0:
SetEnv VolName "*"'cd'*""
SetEnv VolNameLen 'List ENV:VolName lformat %l'
SetEnv VolNameLen 'Eval $VolNameLen - 3'
SetEnv VolName 'Echo $VolName First 1 Len $VolNameLen noline'
setenv command 'Echo Dms read "*"Ram:$Volname.dms*""'
$command

Den festen Ausgabepfad "Ram:" könnte man natürlich auch durch eine Variable ersetzen, der voher z.B mit Requestfile ermittelt wurde

mfg Palgucker

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Amiga, AmigaOS 4 > Befehl zur Namens-Ausgabe [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.