Bei Icon-Klick Datei kopieren

Hallo,

als Windows-98-Nutzer möchte ich einen Icon auf
dem Desktop installieren, der beim Anklicken eine
Datei in ein bestimmtes Verzeichnis kopiert.

Wie kann ich dies, möglichst ohne viel Aufwand,
verwirklichen?

Danke für Eure Hinweise.

Hallo Arnold :smile:

als Windows-98-Nutzer möchte ich einen Icon auf
dem Desktop installieren, der beim Anklicken eine
Datei in ein bestimmtes Verzeichnis kopiert.

Gute Idee, so etwas geht mit einem Batch (Stapelverarbeitungsdatei).

Wie kann ich dies, möglichst ohne viel Aufwand,
verwirklichen?

Nur: Heisst „eine Datei“ - also die Quelldatei - immer gleich oder kann sie einen variablen Namen haben oder befindet sie sich mal hier in diesem, mal dort in jenem (Quell-) Verzeichnis??

Die Schwierigkeit besteht eben darin, die Quelldatei „zu fassen zu kriegen“. Ansonsten, also wenn das kein Prob. ist, sollte folgender Job universell einsetzbar sein:

@echo off
rem copyjob.bat
lfnfor=on
copy /b "dateiname.ext" "C:\mein\bestimmtes\Verzeichnis"

„copyjob.bat“ per Link an Desktop senden, fertig!

Die Anführungsstriche sollten bei den eventuell langen Dateinamen mit geschrieben werden. Damit kein Fehler beim Interpretieren der Befehlszeile mit dem copy-Befehl auftritt, habe ich den Wert für „lfnfor“ auf „on“ gesetzt. Dadurch werden LongFileNames auch im DOS-Fenster und in Batches problemlos akzeptiert.

Der Batch liesse sich jetzt noch ausbauen mit Hinten und Vorne und haste-nicht-gesehen… Das kommt jetzt auf den individuellen Zweck an (s. oben).

CU DannyFox64

Hallo DannyFox64,

vielen Dank für Deinen Tipp.

Die Datei hat immer den gleichen Namen und auch
das Quellverzeichnis ist immer dasselbe.

Wissen müsste ich noch, wo man diese Batchdatei
erstellt (in welchem Programm).

Außerdem interessiert mich, ob dies auch mit
einem Verzeichnis möglich ist, also ein komplettes
Verzeichnis auf Knopfdruck kopieren. Für mich
sinnvoll wäre dies bei der Datensicherung von
„Eigene Dateien“, die man auf eine 2. Festplatte
oder auf CD brennen könnte.

Danke für weitere Tipps.

Hallo Arnold,

Die Datei hat immer den gleichen Namen und auch
das Quellverzeichnis ist immer dasselbe.

Gut so!

Wissen müsste ich noch, wo man diese Batchdatei
erstellt (in welchem Programm).

Zum Beispiel mit „Notepad“ oder einem anderen Klartext-Editor. Stapeldateien liegen immer Klartext vor. Die Befehle, die dort gelistet sind, werden „im Stapel“ nacheinander abgearbeitet.

Meist bedient man sich der DOS-Befehle, aber auch Windows-Anwendungen lassen sich damit starten; seit Win-98 (?) stellt man der Befehlszeile dann den Befehl „start“ (eigentlich „start.exe“) voran. Das könnte dann so aussehen:

@echo off
rem Kopiert Ordner "Eigene Dateien" auf D:, startet dann Word
rem Pfade usw. entsprechend anpassen
lfnfor=on
xcopy /i /s "C:\Eigene Dateien\*.\*" "D:\"
start.exe "C:\Programme\MS-Office\Winword.exe"
rem Ende 

Außerdem interessiert mich, ob dies auch mit
einem Verzeichnis möglich ist, also ein komplettes
Verzeichnis auf Knopfdruck kopieren.

^siehe oben^

Für mich
sinnvoll wäre dies bei der Datensicherung von
„Eigene Dateien“, die man auf eine 2. Festplatte
oder auf CD brennen könnte.

Danke für weitere Tipps.

Es kommt drauf an, welche Windows-Version Du hast… ich weiss nicht, ob Win2000, WinXP die DOS-Befehle noch so umfangreich unterstützen, könnte aber sein.

Probiere es einfach: Damit Du so in etwa weisst, welcher Befehlsvorrat unter DOS zur Verfügung steht, gibst Du im DOS-Fenster einfach einmal „Help“ ein (ohne Anführungszeichen). – Es müsste dann die DOS-Hilfe starten, in der fast alle Befehle listet und beschrieben sind, auch die wesentlichen Funktionen von Stapeldateien…

Fragen?

CU DannyFox64

Wissen müsste ich noch, wo man diese Batchdatei
erstellt (in welchem Programm).

Außerdem interessiert mich, ob dies auch mit
einem Verzeichnis möglich ist, also ein komplettes
Verzeichnis auf Knopfdruck kopieren. Für mich
sinnvoll wäre dies bei der Datensicherung von
„Eigene Dateien“, die man auf eine 2. Festplatte
oder auf CD brennen könnte.

Servus Arnold

Du kannst die Datei „copyjob.bat“ mit jedem beliebigen Editor erstellen, also z. B. Notepad.

Um das ganze Verzeichnis „Eigene Dateien“ zu kopieren, schreibst du z. B. folgende Zeile in diese Datei:
xcopy /e /i /y „c:\Dokumente und Einstellungen\DeinName\Eigene Dateien“ "d:\Eigene Dateien Sicherungskopie"

Statt „DeinName“ musst du natürlich deinen Namen einsetzen bzw. in Win98 ist der Pfad sowieso ganz anders, glaub ich.
Wichtig ist, dass die Verzeichnisnamen in Anführungszeichen stehen, weil sie Leerzeichen enthalten!

Erklärung der Parameter:
/e = Alle Unterverzeichnisse werden kopiert (auch leere).
/i = Falls das Ziel nicht vorhanden ist und mehrere Dateien kopiert werden, wird angenommen, dass das Ziel ein Verzeichnis ist (sonst erscheint eine Abfrage, ob das Ziel eine Datei oder ein Verzeichnis ist).
/y = Bereits vorhandene Dateien im Zielverzeichnis werden kommentarlos überschrieben.

Ich hab das mit Win2000 getestet, ich hoffe, dass es mit Win98 (oder was auch immer du hast) genauso funktioniert …

Eine Erklärung zu allen Parametern von „xcopy“ erhältst du übrigens, wenn du in einem DOS-Fenster „xcopy /?“ eingibst.

Viel Vergnügen
Roland

moings…

Probiere es einfach: Damit Du so in etwa weisst, welcher
Befehlsvorrat unter DOS zur Verfügung steht, gibst Du im
DOS-Fenster einfach einmal „Help“ ein (ohne
Anführungszeichen). – Es müsste dann die DOS-Hilfe starten,
in der fast alle Befehle listet und beschrieben sind, auch die
wesentlichen Funktionen von Stapeldateien…

Seit WinME/Win2k wird „help“ nicht mehr unterstützt iirc…

Servutz
Stephan

Hallo,

zunächst vielen Dank für die Tipps, die ich
ausprobiert habe.

Das Kopieren einer Datei hat hervorragend geklappt.
Eine Verzeichniskopie habe ich noch nicht probiert,
nehme aber an, dass dies genauso gut funktioniert.

Als Betriebssystem benutze ich Windows 98. Der
Help-Befehl ist jedoch im MS-DOS nicht verfügbar, warum auch
immer!!

Genial wäre es jetzt noch, wenn die kopierte Datei anschließend automatisch umbenannt würde, und zwar mit vorangestelltem
Tagesdatum, im Format „jjjj.mm.tt“?

Zum Beispiel würde dann die Datei „Test.doc“ neu heißen:
„2003_09_30_Test.doc“.

Gibt es hierfür auch eine Möglichkeit?

 

Hallo Arnold!

Als Betriebssystem benutze ich Windows 98. Der
Help-Befehl ist jedoch im MS-DOS nicht verfügbar, warum auch
immer!!

Vielleicht kannst Du von der W98-CD noch ein paar DOS-Komponenten nach installieren. Normalerweise ist das Programm HELP.EXE im Ordner „C:\WINDOWS\COMMAND“ zu finden.

Genial wäre es jetzt noch, wenn die kopierte Datei
anschließend automatisch umbenannt würde, und zwar mit
vorangestelltem
Tagesdatum, im Format „jjjj.mm.tt“?

Zum Beispiel würde dann die Datei „Test.doc“ neu heißen:
„2003_09_30_Test.doc“.

Gibt es hierfür auch eine Möglichkeit?

Ja, über das ein oder andere „Hintertürchen“.
Siehe: http://www.uwe-sieber.de/util.html

Der dort aufgeführte DATEFILE-Befehl im ersten Schritt, und im zweiten das Anhängen des Originalnamens. Das würde dann so aussehen:

rem Code-Schnipsel
rem Schritt 1: Datum als Dummy-Datei mit einmaligem Namen ablegen
echo.\>$dfdummy
echo $dfdummy | datefile
rem Schritt 2: Neuen Dummy-Name heranziehen und überschreiben
rem Wichtig dabei: es darf \_keine\_ weitere Datei im aktuellen
rem Ordner \_ohne\_ Suffix existieren!!!
lfnfor=off
for %%a in (\*.) do set currdate=%%a
lfnfor=on
xcopy "Quelldatei.doc" "%currdate%\_Quelldatei.doc"
for %%a in (\*.) do del %%a
set currdate=

Das erscheint zwar etwas umständlich, ist aber für eine reine Batch-Lösung in diesem Fall wohl die einfachste, um das Datum in eine Umgebungsvariable „einzufangen“.

CU DannyFox :wink:

Hallo DannyFox64,

für die nochmaligen Hinweise vielen Dank!

Leider bestehen noch folgende Probleme:

1.) Die Datei Help.exe (MS-DOS Hilfe) befindet sich nicht in dem
Ordner C:\Windows\Command.
Beim Versuch, Windwos upzudaten, wird angezeigt,
dass alle Komponenten installiert sind. Woher
kann ich jetzt diese, und evtl. weitere fehlende
MS-DOS-Komponenten beziehen.

2.) Das unter Uwe-Sieber.de angegebene Utility habe
ich heruntergeladen. Beim Entpacken wird eine
Datei mit der Bezeichnung Datefile.com erzeigt, die
beim Öffnen im DOS-Fenster folgenden Hinweis
anzeigt:
„DATEFILE: No pipe given to read from. Try Datefile /?
for assistance“
Wie gelange ich an das Programm?

Für weitere Infos vielen Dank.

Hallo DannyFox64,

für die nochmaligen Hinweise vielen Dank!

Leider bestehen noch folgende Probleme:

1.) Die Datei Help.exe (MS-DOS Hilfe) befindet sich nicht in
dem
Ordner C:\Windows\Command.
Beim Versuch, Windwos upzudaten, wird angezeigt,
dass alle Komponenten installiert sind. Woher
kann ich jetzt diese, und evtl. weitere fehlende
MS-DOS-Komponenten beziehen.

Mmm-hmmm! -> Siehe eMail…

2.) Das unter Uwe-Sieber.de angegebene Utility habe
ich heruntergeladen. Beim Entpacken wird eine
Datei mit der Bezeichnung Datefile.com erzeigt, die
beim Öffnen im DOS-Fenster folgenden Hinweis
anzeigt:
„DATEFILE: No pipe given to read from. Try Datefile /?
for assistance“
Wie gelange ich an das Programm?

Kurze Erklärung der Fehlermeldung:

DATEFILE ist weniger ein Programm an sich als vielmehr ein Filter.
Damit der Filter wirkt, muss man etwas hineingeben; in diesem Falle eben eine Datei „übergeben“. (Weil das ist ja der einzige Zweck des Filter-Befehls.)

Mit „DATEFILE /?“ erhältst Du eine Auflistung der Möglichkeiten des Filters (Syntax evtl. Beispiele). - Fast alle DOS-Befehle/-Programme geben bei Parameter „/?“ oder „-?“ oder nur „?“ die möglichen Aufrufe auf dem Bildschirm aus.

„No pipe given to read from“ bedeutet, dass keine Dateiausgabe/-umleitung durch „DATEFILE“ erfolgte. – So, wenn Du nun die Befehlszeile am DOS-Prompt „echo Dateiname | DATEFILE“ eingibst, solltest Du ein anderes Resultat bekommen. Folgende Zeichen dienen der Ein-/Ausgabe-Steuerung:

\> Ausgabe auf... (neu; Modus OUTPUT)
\>\> Ausgabe auf... (wenn vorhanden, wird hinzugefügt; Modus APPEND)
 Beispiele:



    type dok1.txt 

 zeigt "dok1.txt" am Bildschirm



    type dok1lang.txt | more

 zeigt "dok1lang.txt" seitenweise am Bildschirm an... z.B. für Klartextdateien, die länger als 25 Zeilen sind



    type dok1.txt \>lpt1:

 druckt "dok1.txt" auf Drucker an LPT1 (PRN)



    type dok1.txt | find "Arnold" \>gefunden.txt 

 Zeigt dok1.txt an, die Ausgabe wird aber gefiltert mit "FIND.EXE" nach dem Namen "Arnold" in exakter Schreibweise, und, was sonst am Bildschirm zu sehen wäre, wird in die neue Datei "gefunden.txt" geschrieben. Alternativ dazu geht auch:


    find /i "ArNold" \>gefunden.txt

 Parameter "/i" ignoriert Gross-/Kleinschreibung, gefunden wird {Arnold, arnold, ARNOLD, aRnold...}; "gefunden.txt" wird um die Suchergebnisse erweitert...



> Für weitere Infos vielen Dank.


CU DannyFox64

Hallo DannyFox64,

nochmals Danke für Deine Bemühungen.

Das Prinzip der Vorgehensweise leuchtet mir ein.
Leider funktioniert es nicht bei mir.

Wie würde eine Batchdatei aussehen, die das
Verzeichnis C:\Eigene Dateien in das Verzeichnis
D:\Backup Eigene Dateien kopieren würde? Das entsprechende
Unterverzeichnis würde dann lauten:
„2003_10_02_Eigene Dateien“ (Also Datum und Verzeichnisname).

Hi, Arnold,

Das Prinzip der Vorgehensweise leuchtet mir ein.
Leider funktioniert es nicht bei mir.

Ich muss den Batch mal am Wochenende testen, mit etwas Ruhe.
Ich melde mich dann noch x.

Wie würde eine Batchdatei aussehen, die das
Verzeichnis C:\Eigene Dateien in das Verzeichnis
D:\Backup Eigene Dateien kopieren würde? Das entsprechende
Unterverzeichnis würde dann lauten:
„2003_10_02_Eigene Dateien“ (Also Datum und Verzeichnisname).

…bis dahin: CU DannyFox64