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:

ein Programm, dass einen Ordner in anderen Kopiert??
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ChrisBa



Anmeldungsdatum: 22.07.2006
Beiträge: 10

BeitragVerfasst am: 22.07.2006, 11:59    Titel: ein Programm, dass einen Ordner in anderen Kopiert?? Antworten mit Zitat

Guten Tag
Ich bin ganz neu hier und will mir gerne Freebasic lernen.
aber zuerst möchte ich gerne sehen wie dieses Programm aussieht :
Ich möchte,dass die .exe-Datei einen bestimmten Ordner in einen anderen Platz kopiert.
wie sieht das dann in freebasic aus?
Ich danke hiermit schon alle die mir dabei helfen und schonmal ein Lob an das hilfsbereite Forum! happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 22.07.2006, 12:15    Titel: Antworten mit Zitat

Hallo und herzlich willkommen hier im Forum! lächeln

Folgende Lösung ist (noch) ungetestet, müsste (durchgeknallt) aber funktionieren:
Code:

SHELL "copy c:\test\*.* c:\test2"

Das kopiert den ganzen Verzeichnisinhalt vom Verzeichnis "test" in das Verzeichnis "test2".
Falls der Ordner noch nicht exisitert, kannst du auch folgenden Befehl anwenden:
Code:

SHELL "mkdir c:\test2"


Der SHELL-Befehl bewirkt, dass ein Befehl auf der Kommandozeile bzw. ein Befehl der Kommandozeile ausgeführt wird. Du kannst das ganze auch dynamisch gestalten, indem du Variablen für die Verzeichnisse benutzt, zum Beispiel:
Code:

INPUT "Quellverzeichnis (ohne Backslash am Ende): "; quelle$
INPUT "Zielverzeichnis (ohne Backslash am Ende)  : "; ziel$
kommando$="copy "+quelle$+"\*.*"+ziel$"
SHELL kommando$

Hier wird zuerst nach dem Quell- und nach dem Zielverzeichnis gefragt. Wenn du willst, kannst du das Zielverzeichnis vorher noch mit oben gezeigter Methode anlegen lassen. Dann wird ein String gebildet, der dann ausgeführt wird. Okay, blöd ausgedrückt. Aber ich denke, dass es ersichtlich ist, wie das mit dem Bilden des Strings funktioniert. Zu guter letzt wird dann der Befehl, der vorher zusammengesetzt wurde, ausgeführt. lächeln

Anmerkung: Soweit ich weiß, gibt es einen MKDIR-Befehl von FB, jedoch benutze ich für solche Sachen meist die SHELL-Anweisung. grinsen

Grüße,
Mao
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ChrisBa



Anmeldungsdatum: 22.07.2006
Beiträge: 10

BeitragVerfasst am: 22.07.2006, 12:22    Titel: Antworten mit Zitat

vielen herzlichen dank für die gute erklärung
könntest du mir vielleicht auch noch sagen wie es richtig fertig für freebasic aussieht?
also das ich den quelltext nur auf freebasic kopieren muss?
dann kann ich mir das noch etwas besser vorstellen!
schonmal danke
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 22.07.2006, 12:34    Titel: Antworten mit Zitat

Ich hab' nicht ganz 'raus, was du mir sagen willst, aber ich denke, dass du meinst, dass du den Quellcode am Stück haben möchtest? (nette Satzstellung meinerseits lachen)

Code:

' Quelle und Ziel erfragen
INPUT "Quellverzeichnis (ohne Backslash am Ende): "; quelle$
INPUT "Zielverzeichnis (ohne Backslash am Ende)  : "; ziel$
' Frage, ob Zielverzeichnis erstellt werden soll ausgeben
PRINT "Zielverzeichnis erstellen? (J/N)"

DO ' Solange ...
  Antwort$=INKEY$ ' (Tastaturpuffer in Antwort$ einlesen)
  IF Antwort$="J" OR Antwort$="N" THEN EXIT DO ' ...Antwort nicht "J" oder "N" ist, ...
LOOP ' ... die ganze Schleife wiederholen

IF Antwort$="J" THEN ' Wenn Zielverzeichnis erstellt werden soll, ...
  kommando$="mkdir "+ziel$ ' ... dann bilde das richtige Kommando ...
  SHELL kommando$ ' ... und führe es auf der Shell aus
END IF

kommando$="copy "+quelle$+"\*.*"+ziel$" ' Das "Kopieren"-Kommando zusammenstellen ...
SHELL kommando$ ' ... und ausführen
PRINT "Fertig!"

Ich hab' jetzt noch eine Abfrage eingebaut, in der geklärt wird, ob das Zielverzeichnis vorher noch erstellt werden soll. Weiters hoffe ich, dass es das war, was du gemeint hast. lächeln

Greets,
Mao
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ChrisBa



Anmeldungsdatum: 22.07.2006
Beiträge: 10

BeitragVerfasst am: 22.07.2006, 12:40    Titel: Antworten mit Zitat

vielen dank
nur noch wo muss ich die verzeichnisse eingeben?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 22.07.2006, 12:48    Titel: Antworten mit Zitat

Die Verzeichnisse werden mittels INPUT vom Benutzer erfragt. Wenn du das nicht möchtest, kannst du diese Zeilen entfernen und die beiden Variablen quelle$ und ziel$ selbst belegen, zum Beispiel mit
Code:

quelle$="c:\test"
ziel$="c:\test2"

Ein dafür geschriebener Code wäre dann:
Code:

quelle$="c:\test"
ziel$="c:\test2"
kommando$="copy "+quelle$+"\*.*"+ziel$" ' Das "Kopieren"-Kommando zusammenstellen ...
SHELL kommando$ ' ... und ausführen
PRINT "Fertig!"

Ich weiß nicht wirklich, was genau du damit wissen wolltest, deswegen hab ich das hier vermutet. Sonst evtl. auf englisch schreiben, falls deutsch nicht deine Muttersprache ist! zwinkern
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ChrisBa



Anmeldungsdatum: 22.07.2006
Beiträge: 10

BeitragVerfasst am: 22.07.2006, 12:51    Titel: Antworten mit Zitat

hm...
ich hab das hier in Freebasic eingegeben:
Code:

quelle$="c:\test"
ziel$="c:\test2"
kommando$="copy "+quelle$+"\*.*"+ziel$" ' Das "Kopieren"-Kommando zusammenstellen ...
SHELL kommando$ ' ... und ausführen
PRINT "Fertig!"


aber es funktioniert nicht
die Verzeichniss hab ich richtig eingegeben.
was mache ich falsch?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 22.07.2006, 12:56    Titel: Antworten mit Zitat

Hi ChrisBA,
..du hast kein AusgabeProtokoll mitgepostet..
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..

Zuletzt bearbeitet von ytwinky am 22.07.2006, 12:57, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ChrisBa



Anmeldungsdatum: 22.07.2006
Beiträge: 10

BeitragVerfasst am: 22.07.2006, 12:57    Titel: Antworten mit Zitat

und wie würde das dann aussehen?fertig aussehen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 22.07.2006, 13:01    Titel: Antworten mit Zitat

Wechsel in die DosBox
Programm aufrufen
Ausgabe mit Alt-Druck in die Zwischenablage
Zwischenablage ins Grafikprogramm
Bild erstellen
Bild hochladen
Bild hier posten
..und warten, ob jemand antwortet
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 22.07.2006, 13:02    Titel: Antworten mit Zitat

Der Fehler liegt daran, dass vor ziel$ ein Leerzeichen sein muss:
Code:

kommando$="copy " + quelle$ + "\*.* " + ziel$
SHELL kommando$


jb
_________________
Elektronik und Programmieren
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ChrisBa



Anmeldungsdatum: 22.07.2006
Beiträge: 10

BeitragVerfasst am: 22.07.2006, 13:15    Titel: Antworten mit Zitat

ich glaube es ist einfacher das problem bildhaft darzustellen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 22.07.2006, 13:20    Titel: Antworten mit Zitat

Hmm... Versuch mal den Backslash durch chr$(92) zu ersetzen:
Code:

kommando$="copy " + quelle$ + chr$(92) + "*.* " + ziel$
SHELL kommando$


Hast du das mit dem Leerzeichen geändert?

jb
_________________
Elektronik und Programmieren
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ChrisBa



Anmeldungsdatum: 22.07.2006
Beiträge: 10

BeitragVerfasst am: 22.07.2006, 13:24    Titel: Antworten mit Zitat

hab das mit den leerstellen gemacht
und habs auch ausprobiert
aber es geht irgendwie nicht
weinen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 22.07.2006, 13:53    Titel: Antworten mit Zitat

jb hat Folgendes geschrieben:
Der Fehler liegt daran, dass vor ziel$ ein Leerzeichen sein muss:
Code:

kommando$="copy " + quelle$ + "\*.* " + ziel$
SHELL kommando$


jb
So sollte es aussehen..
..mit dem, was du geschrieben hast, kann DOS nix anfangen..
Für Programmtext sollteste die Code-Tags verwenden, keine Grafiken.
Fehler lassen sich dann besser kopieren.
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ChrisBa



Anmeldungsdatum: 22.07.2006
Beiträge: 10

BeitragVerfasst am: 22.07.2006, 14:11    Titel: Antworten mit Zitat

Es geht nun endlich
vielen herzlichen dank

da hätte ich noch zwei weitere fragen
gibt es eine möglichkeit die daten "unsichtbar" also "versteckt" in einen ordner zu kopieren?
und wie mach ich aus dem Quellcode eine .exe-datei?

danke
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 22.07.2006, 16:45    Titel: Antworten mit Zitat

Zu 1.:
Forensuche nach 'Attribut' ergibt(unter anderen Hinweisen grinsen):
http://forum.qbasic.at/viewtopic.php?t=1754&highlight=attribut
Zu 2.:
Compiler-Optionen..
..na, ist vllt ein wenig zu wenig..
Sag doch einfach mal mit welcher Austattung du arbeitest..
..Compiler(fbc -version)
..FBIde ?
..JellyFish Pro-Editor ?
..dein Lieblings-Editor?
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ChrisBa



Anmeldungsdatum: 22.07.2006
Beiträge: 10

BeitragVerfasst am: 22.07.2006, 16:49    Titel: Antworten mit Zitat

nochmals danke für die hilfe
jetzt haben sich glaube ich alle fragen geklärt und den rest werd ich schon allein hinbekommen!
danke nochmals
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 22.07.2006, 17:07    Titel: Antworten mit Zitat

k.U.
..dabei wär' die Ausstattung sooo interessant gewesen..
..auch für mögliche weitere Fragen happy
Tipps für Win95 sind halt anders, als Tipps für W2k oder XP..
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ChrisBa



Anmeldungsdatum: 22.07.2006
Beiträge: 10

BeitragVerfasst am: 22.07.2006, 19:11    Titel: Antworten mit Zitat

wieso kommst du auf Win 95?
ich hab XP drauf
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 FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
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