|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
bm-magic
Anmeldungsdatum: 28.02.2013 Beiträge: 37
|
Verfasst am: 28.02.2013, 22:06 Titel: Hilfe Akt. Datum als Vezeichniss Name unten DOS 6.22 |
|
|
Bitte um Hilfe,
- Ich möchte im DOS PC, date als Verzeichnis Name automatisch
erstellen ohne einen Zusatz Programm.
- QBasic ist im DOS anbei. Ich bin seit Wochen am Lösung-suche.
- mkdir %date% funktioniert bei mir mit XP, aber unten DOS wird "nur"
ein gleichnamiges Verzeichnis erstellt, also %date%.
- Zu dem sollte das Format JJJJMMTT sein.
- Mit: date > heute.txt wird eine Datei mit dem Text:
Aktuelles Datum: 28.02.2013
Geben Sie das neue Datum ein: (TT-MM-JJ)
- erstellt, nach dem ich Enter drücke. Kann man es verwenden?
Gibt es eine Möglichkeit es mit Heute.bas zu lösen?
- 1. Ich habe selbst noch keine Ahnung von irgend eine Prog. Sprache.
- 2. Leider kann ich auch nicht englisch.
Vielen Dank für eine Hilfe |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4594 Wohnort: ~/
|
Verfasst am: 28.02.2013, 23:47 Titel: |
|
|
Code: | MKDIR RIGHT$(DATE$, 4) + LEFT$(DATE$, 2) + MID$(DATE$, 4, 2) |
sollte hinkommen; mit QBasic kann ich es allerdings nicht testen. Möglicherweise ist die Ausgabe von DATE$ auch abhängig von den Systemeinstellungen. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
bm-magic
Anmeldungsdatum: 28.02.2013 Beiträge: 37
|
Verfasst am: 01.03.2013, 12:55 Titel: Hilfe QBasic aus Batch starten-ausführen-beenden. |
|
|
Einen RIESEN DANK,
- wie durch ein Wunder, wurde das Verzeichnis erstellt,
- MKDIR RIGHT$(DATE$, 4) + LEFT$(DATE$, 2) + MID$(DATE$, 4, 2)
- wenn ich in QBasic ausführen gewählt habe.
. Ich möchte nicht unverschämt werden, aber ich habe
- nun ein folge Problem. Das Verzeichnis sollte aus
- einer Batch automatisch erstellt werden.
- Wie kann man es realisieren?
Ein Dank für die Hilfe |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4594 Wohnort: ~/
|
Verfasst am: 01.03.2013, 14:47 Titel: Re: Hilfe QBasic aus Batch starten-ausführen-beenden. |
|
|
bm-magic hat Folgendes geschrieben: | - wie durch ein Wunder, wurde das Verzeichnis erstellt,
- MKDIR RIGHT$(DATE$, 4) + LEFT$(DATE$, 2) + MID$(DATE$, 4, 2) |
Nee, ist kein Wunder.
DATE$ liefert das Datum im amerikanischen Format MM-TT-JJJJ. Mit RIGHT$(DATE$, 4) holst du dir die letzten vier Zeichen (also das Jahr), mit LEFT$(DATE$, 2) die ersten beiden (also den Monat) und mit MID$(DATE$, 4, 2) zwei Zeichen ab dem 4. Zeichen (also den Tag).
Ein QBasic-Programm aus einer Batchdatei zu starten geht nur, wenn du es zu einer ausführbaren Datei compilierst. Du kannst afaik auch QBasic starten und deine BAS-Datei als Parameter mitgeben; aber das wird dann nicht automatisch beendet. Allerdings hast du auch in einer Batchdatei die Möglichkeit, ein Verzeichnis zu erstellen, weshalb ich das gleich direkt machen würde. Ein ähnliches Problem wird wohl hier behandelt. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 01.03.2013, 16:03 Titel: |
|
|
Zitat: | Du kannst afaik auch QBasic starten und deine BAS-Datei als Parameter mitgeben; aber das wird dann nicht automatisch beendet. |
Doch, wenn man es richtig startet (mit /RUN als Parameter, glaube ich) und richtig beendet (mit SYSTEM), startet und beendet sich das Programm von selbst. Aber dabei muss natürlich jedes mal die QBasic-IDE geladen werden, was vergleichsweise lange dauert, weshalb es sich natürlich lohnt, das Programm mit QuickBASIC in eine EXE-Datei zu kompilieren. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
bm-magic
Anmeldungsdatum: 28.02.2013 Beiträge: 37
|
Verfasst am: 01.03.2013, 21:40 Titel: Hilfe nun ist es fast perfekt |
|
|
Ihr weißt nicht wie glücklich ich bin.
- Es geht super.
1. Batch Text: QBasic /PAR a:\heute.bas
2. heute.bas Text:
MKDIR RIGHT$(DATE$, 4) + LEFT$(DATE$, 2) + MID$(DATE$, 4, 2)
SYSTEM
- Leider letztes Problem:
- Das Verzeichnis wird immer auf dem Laufwerk erstellt, wo der prompt steht,
also dort, von wo ich die Batch aufrufe, egal wo die Qbasic und *.bas sind.
- Bei mir auf a:\. Ich benötige es aber auf d:\
- Ein Versuch mit MOVE a:\2* d:\ scheitert mit der Meldung:
a:\2???????? [Quelldatei kann nicht geöffnet werden]
- Bem. Warum Qbasic und nicht Batch für Verz. Erstellung?
DOS 6.22 sieht nicht % als Variable.
- Ich BITTE noch einmal um einen Rat. |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 01.03.2013, 22:07 Titel: |
|
|
Änder halt das Arbeitsverzeichnis vor dem Erstellen oder gib einen kompletten Pfadnamen bei MKDIR an. MKDIR "D:\" + ... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4594 Wohnort: ~/
|
Verfasst am: 01.03.2013, 22:08 Titel: |
|
|
Nochmal, damit ich das richtig verstehe: Die Batchdatei und das QBASIC-Programm befinden sich in a:\ und dein Verzeichnis soll nach d:\ ? Dann einfach in das QBasic-Programm
Code: | MKDIR "D:\" + RIGHT$(DATE$, 4) + LEFT$(DATE$, 2) + MID$(DATE$, 4, 2) |
_________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2507 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 01.03.2013, 22:17 Titel: Re: Hilfe nun ist es fast perfekt |
|
|
bm-magic hat Folgendes geschrieben: | MKDIR RIGHT$(DATE$, 4) + LEFT$(DATE$, 2) + MID$(DATE$, 4, 2)
SYSTEM
- Leider letztes Problem:
- Das Verzeichnis wird immer auf dem Laufwerk erstellt, wo der prompt steht,
also dort, von wo ich die Batch aufrufe, egal wo die Qbasic und *.bas sind.
- Bei mir auf a:\. Ich benötige es aber auf d:\
- Ein Versuch mit MOVE a:\2* d:\ scheitert mit der Meldung:
a:\2???????? [Quelldatei kann nicht geöffnet werden] |
Da hast Du bereits zuweit gesucht. Ein einfaches
Code: | Pfad$ = "D:\FOO\BAR\"
MKDIR Pfad$ + RIGHT$(DATE$, 4) + LEFT$(DATE$, 2) + MID$(DATE$, 4, 2) |
sollte Dein Problem bereits lösen, da Du bei MKDIR auch absolute Pfade mitgeben kannst.
bm-magic hat Folgendes geschrieben: | - Bem. Warum Qbasic und nicht Batch für Verz. Erstellung?
DOS 6.22 sieht nicht % als Variable. |
DOS 6.22 unterstützt sehr wohl SET-Variablen, z.B.
Code: | REM Beispiel.BAT
SET IRGENDWAS=D:\FOO\BAR
MKDIR %IRGENDWAS%\ORDNER |
Dagegen gibt es in DOS 6.22 all die berühmten unter der Usenet-Gruppe alt.msdos.batch.nt diskutierten Befehlserweiterungen von der CMD.EXE nicht, denn dort hättest Du die Möglichkeit, auch ohne QB-Hilfsprogramm ein Verzeichnis anzulegen.
Ansonsten zum Thema Ungebungsvariable bitte diesen Artikel aus meiner Sammlung lesen, d.h. Du musst das Vater-Sohn-Prozessprinzip und Umgebungsvariablenprinzip verstanden haben.
Übrigens verwende ich bei Backup-Jobs, wo ein Tagesordner angelegt werden muss, meistens VBScript über den Windows Script Host, so dass ich einer Stringvariable das aktuelle Datum zuweisen kann, anschliessend ein FileSystemObject.CreateFolder und anschliessend ein WScript.Shell.Run "xcopy " ausführen. Dieser Weg klappt natürlich in QBasic ebenfalls erfolgreich, z.B.
Code: | ' Einfacher Backup-Job
CONST Quelle$ = "C:\FOO\BAR"
CONST Ziel$ = "D:\BACKUPS"
tag$ = RIGHT$(DATE$, 4) + LEFT$(DATE$, 2) + MID$(DATE$, 4, 2)
MKDIR Ziel$ + "\" + tag$
SHELL "xcopy " + Quelle$ + " " + Ziel$ + "\" + tag$ + " /s/e/v"
SYSTEM |
_________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
|
bm-magic
Anmeldungsdatum: 28.02.2013 Beiträge: 37
|
Verfasst am: 01.03.2013, 22:31 Titel: Unbezahlbar und NETT |
|
|
Ich Danke Dir Jojo und natürlich auch Dir nemored,
Das war es. ))
- Ich habe mich mit CHDIR abgemüht mit allen Variationen,
es ging aber nicht!
Nun sieht die *.bas wie es nemored beschrieben hat.
- Mein Problem mit dem ich mich seid Wochen kämpfe
- habt Ihr an einem Tag gelöst.
- Ich werde EUCH ewig danken und hoffe,
dass es auch anderen Kollegen hilft.
- Letzte Frage: Schläft Ihr nie? DANKE |
|
Nach oben |
|
|
bm-magic
Anmeldungsdatum: 28.02.2013 Beiträge: 37
|
Verfasst am: 02.03.2013, 13:38 Titel: Noch zum Abschluss |
|
|
Info:
- für nemored.
- Die Aufklärung, wie der Aufruf aufgebaut ist, hatte mir fast mehr geholfen,
- als die Hilfe selbst. Bitte, bitte weiter so.
- Für dreael,
- auch einen großen Dank. Ich habe Deine Infos gelesen und habe "noch"
- nicht alles verstanden, bin aber noch dabei.
- Für Jojo,
- natürlich auch Großen Dank. Der Hinweis, das der Aufruf aus Batch möglich
- ist war sehr wertvoll. Leider habe ich für die Umsetzung noch einen halben
- Tag gebraucht.
- An alle, nach dem ich Qbasic Hilfe gelesen habe, (bis jetzt "nur" den Inhalt),
-bin ich fast erschrocken, was man alles damit machen kann
-und auf was ich bis jetzt verzichten musste.
- Danke, das diese Seite gibt und so viele "gute Nachtgeister" hat. |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|