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:

Dateien aus unbekannen Ordner kopieren, Syntaxfehler.

 
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: 37

BeitragVerfasst am: 05.04.2022, 22:34    Titel: Dateien aus unbekannen Ordner kopieren, Syntaxfehler. Antworten mit Zitat

Hallo,
bei meinem letzten Problem hatte ich die Lösung im Administrator Forum gefunden und
wurde aufgemuntert, zum weitermachen. Ich habe gefolgt mit einem von einigen
nicht erledigten Problemen. Siehe:
https://administrator.de/content/detail.php?id=2362522566#comment-2363196631
Leider sieht es so aus, das ich mich immer mehr, von dem Thema entferne,
statt einer Lösung zu finden. Kann mir u.U. jemand hier helfen?
Es handelt sich um eine cnf.bat:
Code:
REM W-Disk_03/09_07.06.2000/MOR-(c)..bm-magic..CNF Aufruf
@BE %WORK%\MASK0.TXT
@ECHO OFF
@REM  1 CNF nach Tagesverzeichniss\CNF kopieren
Qbasic /RUN %WORK%\cnf.bas
@REM 2 Ergebniss anzeigen
IF %DE%==ON GOTO ENDE
@BE %WORK%\MASK0.TXT
@BE %WORK%\CNFF.TXT
:ENDE

die eine cnf.bas aufruft:
Code:
REM W-Disk_03/03_13.07.2013/MOR-(c)..bm-magic..CNF Erstellung
DEFINT A-F
DEFSTR G-Z
DIM bef AS STRING
DIM dir AS STRING
zlw = ENVIRON$("ZLW")
qpfad = ENVIRON$("QHV") + ENVIRON$("LSYS")
heu = ENVIRON$("HEU")
zdir = ENVIRON$("ZDIR")
zver = heu + "\" + zdir
qdat = ENVIRON$("QDAT")
qtext = heu + "\quelle.txt"
ztext = heu + "\ziel.txt"
a = 0
b = 0
fh = FREEFILE
sdir = heu
such = zdir
CLS
GOSUB find

fdir:
sdir = heu
such = zdir
IF sdir = heu AND fpos = 0 THEN GOSUB mdir:
RETURN find

mdir:
MKDIR heu + "\" + zdir
RETURN find

find:
IF sdir = heu AND rueck = zdir THEN KILL zlw + "dir.txt"
IF sdir = heu AND rueck = zdir THEN GOTO main
SHELL "DIR " + sdir + " /B /A:D > " + zlw + "dir.txt"
OPEN zlw + "dir.txt" FOR INPUT AS #1
found = 0
WHILE (NOT EOF(1) AND found = 0)
 LINE INPUT #1, a$
 fpos = INSTR((a$), (such))
 IF (fpos > 0) THEN found = 1
WEND
CLOSE #1
IF (found = 0) THEN rueck = "nicht": fpos = 0 ELSE rueck = a$
'PRINT "Im Pfad "; sdir; " wurde "; such; " als "; rueck; " gefunden."
IF sdir = zlw AND found = 0 THEN GOSUB fdir:  ELSE GOSUB fdir
RETURN

main:
qver = ENVIRON$("UVA")
que = qpfad + qver + qdat
COLOR 10, 0
PRINT "   1. Quelle ist: "; que
SHELL "DIR " + que + " /W /B /S >" + qtext
qver = ENVIRON$("UVB")
que = qpfad + qver + qdat
COLOR 10, 0
PRINT "   2. Quelle ist: "; que
SHELL "DIR " + que + " /W /B /S >>" + qtext
COLOR 15
PRINT "   Das Ziel ist: "; zver
COLOR 0, 7
PRINT "                 ACHTUNG!                            "
PRINT "     Gleichnamige Dateien werden ueberschrieben!     "
PRINT "     Mit der richtigen Rheienfolge der Quellen,      "
PRINT "     kann man die richtige Datei behalten!           "
PRINT "                **********                           "
SLEEP 4
COLOR 7, 0
CLS
OPEN qtext FOR INPUT AS #1 'QuellTextdatei oeffnen
DO UNTIL EOF(1)
LINE INPUT #1, text
bef = "COPY " + text + " " + zver
COLOR 14, 0
a = a + 1
PRINT "Nun wird "; a; "Datei kopiert: "; bef
OPEN ztext FOR APPEND AS #2 'ZielTextdatei oeffnen
PRINT #2, a; bef
CLOSE #2
SHELL bef
LOOP
CLOSE #1
SHELL "DIR " + zver + " /W /B /S > " + ztext
OPEN ztext FOR INPUT AS #fh 'Zielberichtdatei oeffnen
DO UNTIL EOF(fh)
LINE INPUT #fh, text
b = b + 1
LOOP
CLOSE #fh
IF a - b > 0 THEN
COLOR 12, 0
PRINT " Es wurden "; a - b; "Dateien ueberschrieben."
SHELL "FC " + qtext + " " + ztext + " > " + heu + "\bericht.txt"
PRINT " Vergleiche "; heu; "\bericht.txt"
SHELL "TYPE " + heu + "\bericht.txt |more"
SLEEP 3
GOTO kil
END IF
IF a = b THEN
PRINT "   Es wurden "; b; "Dateien erfolgreich kopiert."
END IF
PRINT "   Sollen die Berichte geloescht werden <j> /\ <n> & <CR>";
INPUT loes
SELECT CASE loes
 CASE "j"
  COLOR 12, 0
  PRINT "   Wirklich <j> /\ <n> & <CR>";
  COLOR 14, 0
  INPUT wir
  SELECT CASE wir
   CASE "j"
    GOTO kil
    END
   CASE "n"
    GOTO ber
    END
  END SELECT
 CASE "n"
  GOTO ber
  END
END SELECT
ber:
PRINT "   Die Berichte wurden aufgehoben."
COLOR 7, 0
GOTO ende

kil:
KILL qtext
KILL ztext
COLOR 7, 0
ende:
SYSTEM

Es funktioniert, aber zum Ende bekomme ich die Meldung Syntaxfehler.
Viele Details habe ich ich schon im dem oben genanntem Forum beschrieben.
Sehr Nette Grüße
Bohu
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