Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Hilfe Akt. Datum als Vezeichniss Name unten DOS 6.22

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
bm-magic



Anmeldungsdatum: 28.02.2013
Beiträge: 29

BeitragVerfasst am: 28.02.2013, 22:06    Titel: Hilfe Akt. Datum als Vezeichniss Name unten DOS 6.22 Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4188
Wohnort: ~/

BeitragVerfasst am: 28.02.2013, 23:47    Titel: Antworten mit Zitat

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.
_________________
Meine Großeltern waren als junge Menschen sehr modern - sie hatten schon damals in der Badewanne Email.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
bm-magic



Anmeldungsdatum: 28.02.2013
Beiträge: 29

BeitragVerfasst am: 01.03.2013, 12:55    Titel: Hilfe QBasic aus Batch starten-ausführen-beenden. Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4188
Wohnort: ~/

BeitragVerfasst am: 01.03.2013, 14:47    Titel: Re: Hilfe QBasic aus Batch starten-ausführen-beenden. Antworten mit Zitat

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. grinsen
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.
_________________
Meine Großeltern waren als junge Menschen sehr modern - sie hatten schon damals in der Badewanne Email.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9732
Wohnort: Neben der Festplatte

BeitragVerfasst am: 01.03.2013, 16:03    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
bm-magic



Anmeldungsdatum: 28.02.2013
Beiträge: 29

BeitragVerfasst am: 01.03.2013, 21:40    Titel: Hilfe nun ist es fast perfekt Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9732
Wohnort: Neben der Festplatte

BeitragVerfasst am: 01.03.2013, 22:07    Titel: Antworten mit Zitat

Ä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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4188
Wohnort: ~/

BeitragVerfasst am: 01.03.2013, 22:08    Titel: Antworten mit Zitat

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)

_________________
Meine Großeltern waren als junge Menschen sehr modern - sie hatten schon damals in der Badewanne Email.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2455
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 01.03.2013, 22:17    Titel: Re: Hilfe nun ist es fast perfekt Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
bm-magic



Anmeldungsdatum: 28.02.2013
Beiträge: 29

BeitragVerfasst am: 01.03.2013, 22:31    Titel: Unbezahlbar und NETT Antworten mit Zitat

Ich Danke Dir Jojo und natürlich auch Dir nemored,

Das war es. lächeln))

- 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
Benutzer-Profile anzeigen Private Nachricht senden
bm-magic



Anmeldungsdatum: 28.02.2013
Beiträge: 29

BeitragVerfasst am: 02.03.2013, 13:38    Titel: Noch zum Abschluss Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz