Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
ChrisBa
Anmeldungsdatum: 22.07.2006 Beiträge: 10
|
Verfasst am: 22.07.2006, 11:59 Titel: ein Programm, dass einen Ordner in anderen Kopiert?? |
|
|
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!  |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 22.07.2006, 12:15 Titel: |
|
|
Hallo und herzlich willkommen hier im Forum!
Folgende Lösung ist (noch) ungetestet, müsste ( ) 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.
Anmerkung: Soweit ich weiß, gibt es einen MKDIR-Befehl von FB, jedoch benutze ich für solche Sachen meist die SHELL-Anweisung.
Grüße,
Mao _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
ChrisBa
Anmeldungsdatum: 22.07.2006 Beiträge: 10
|
Verfasst am: 22.07.2006, 12:22 Titel: |
|
|
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 |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 22.07.2006, 12:34 Titel: |
|
|
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 )
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.
Greets,
Mao _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
ChrisBa
Anmeldungsdatum: 22.07.2006 Beiträge: 10
|
Verfasst am: 22.07.2006, 12:40 Titel: |
|
|
vielen dank
nur noch wo muss ich die verzeichnisse eingeben? |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 22.07.2006, 12:48 Titel: |
|
|
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!  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
ChrisBa
Anmeldungsdatum: 22.07.2006 Beiträge: 10
|
Verfasst am: 22.07.2006, 12:51 Titel: |
|
|
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 |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 22.07.2006, 12:56 Titel: |
|
|
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 |
|
 |
ChrisBa
Anmeldungsdatum: 22.07.2006 Beiträge: 10
|
Verfasst am: 22.07.2006, 12:57 Titel: |
|
|
und wie würde das dann aussehen?fertig aussehen? |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 22.07.2006, 13:01 Titel: |
|
|
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 |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 22.07.2006, 13:02 Titel: |
|
|
Der Fehler liegt daran, dass vor ziel$ ein Leerzeichen sein muss:
Code: |
kommando$="copy " + quelle$ + "\*.* " + ziel$
SHELL kommando$
|
jb _________________ Elektronik und Programmieren |
|
Nach oben |
|
 |
ChrisBa
Anmeldungsdatum: 22.07.2006 Beiträge: 10
|
Verfasst am: 22.07.2006, 13:15 Titel: |
|
|
ich glaube es ist einfacher das problem bildhaft darzustellen
 |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 22.07.2006, 13:20 Titel: |
|
|
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 |
|
 |
ChrisBa
Anmeldungsdatum: 22.07.2006 Beiträge: 10
|
Verfasst am: 22.07.2006, 13:24 Titel: |
|
|
hab das mit den leerstellen gemacht
und habs auch ausprobiert
aber es geht irgendwie nicht
 |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 22.07.2006, 13:53 Titel: |
|
|
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 |
|
 |
ChrisBa
Anmeldungsdatum: 22.07.2006 Beiträge: 10
|
Verfasst am: 22.07.2006, 14:11 Titel: |
|
|
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 |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 22.07.2006, 16:45 Titel: |
|
|
Zu 1.:
Forensuche nach 'Attribut' ergibt(unter anderen Hinweisen ):
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 |
|
 |
ChrisBa
Anmeldungsdatum: 22.07.2006 Beiträge: 10
|
Verfasst am: 22.07.2006, 16:49 Titel: |
|
|
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 |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 22.07.2006, 17:07 Titel: |
|
|
k.U.
..dabei wär' die Ausstattung sooo interessant gewesen..
..auch für mögliche weitere Fragen
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 |
|
 |
ChrisBa
Anmeldungsdatum: 22.07.2006 Beiträge: 10
|
Verfasst am: 22.07.2006, 19:11 Titel: |
|
|
wieso kommst du auf Win 95?
ich hab XP drauf |
|
Nach oben |
|
 |
|