Re: Batch-Datei: Randomize copy
From: Christoph Tuszynski (spamdump_at_online.de)
Date: 12/28/04
- Next message: Ralf Breuer: "Re: Win XP und Internet Security?"
- Previous message: Dirk Langner: "Win XP und Internet Security?"
- In reply to: Juergen: "Batch-Datei: Randomize copy"
- Next in thread: jschoenfeldt_at_yahoo.com: "Re: Batch-Datei: Randomize copy"
- Reply: jschoenfeldt_at_yahoo.com: "Re: Batch-Datei: Randomize copy"
- Messages sorted by: [ date ] [ thread ]
Date: Tue, 28 Dec 2004 12:26:52 -0800
"Juergen" <u446960449@spawnkill.ip-mobilphone.net> schrieb:
[...]
> copy \ordner1\(randomize).bmp \windows\boot.bmp
>
> Leider kann ich nicht programmieren,
> ich kenne nur ein paar batch-Befehle aus DOS-Zeiten.
> Kann man damit das gewünschte Kopieren hin bekommen?
> Oder mit einer anderen interpretierenden Sprache?
vb-Script wäre z.B. dazu geeignet.
Random-funktion:
http://msdn.microsoft.com/library/en-us/script56/html/js56jsmthrandom.asp
Einfache Dateioperationen (achtung, Zeilenumbruch):
<http://msdn.microsoft.com/library/en-
us/script56/html/sgworkingwithfiles.asp>
Hier ein Beispiel (<dateiname>.vbs), wie es aussehen könnte (ohne Gewähr):
---
Dim oFS 'FileSystemObject
Dim oOrdner 'Scripting.Folder
Dim oDateien 'Scripting.Files
Dim oDatei 'Scripting.File
Dim iZufall 'Integer
Dim iZaehler 'Integer
Set oFS = CreateObject("Scripting.FileSystemObject")
Set oOrdner = oFS.GetFolder(<quellverzeichnis>)
Set oDateien = oOrdner.files
iZufall = oDateien.Count * Rnd + 1
For Each oDatei In oDateien
iZaehler = iZaehler + 1
If iZaehler = iZufall Then
Exit For
End If
Next
oDatei.Copy <zielverzeichnis+dateiname>, True
Set oFiles = Nothing
Set oFolder = Nothing
Set oFS = Nothing
---
<quellverzeichnis> und <zielverzeichnis> müssten noch mit "Leben" gefüllt
werden oder das Skript muss die Argumente abfragen, mit denen es aufgerufen
wird.
Sehr unschön an dem Coding ist die "For Each" Schleife, die mit "Exit For"
verlassen wird. Jedoch konnte ich auf die Schnelle das Files-Objekt nicht
dazu überreden, beim "Item" als Argument eine Zahl zu aktzepieren anstatt
einen Dateinamen zu erwarten. :-(
> Falls jemand noch mehr schreiben möchte:
> Wie kann man statt des Zufalls-bitmaps
> ein bitmap nach dem anderen der Reihe nach kopieren?
> (Das heißt, bei jedem boot nur EIN copy.)
Dazu muss die For-Schleife verändert und vorher der Dateiname der evtl.
existierenden Datei ermittelt werden. Die Datei, welche in der Schleife
nach der existierenden Datei kommt, ist dann die "nächste".
Für die Fälle:
- die letzte Datei in der Schleife ist im Zielverzeichnis (da gibt es in
der Schleife keine "nächste" Datei)
- die Datei im Zielverzeichnis existiert im Quellverzeichnis nicht (könnte
ja gelöscht worden sein)
- keine Datei im Zielverzeichnis vorhanden (Erster Aufruf oder
Zielverzeichnis gelöscht)
muss dann auch noch etwas programmiert werden.
Grüße
Christoph
- Next message: Ralf Breuer: "Re: Win XP und Internet Security?"
- Previous message: Dirk Langner: "Win XP und Internet Security?"
- In reply to: Juergen: "Batch-Datei: Randomize copy"
- Next in thread: jschoenfeldt_at_yahoo.com: "Re: Batch-Datei: Randomize copy"
- Reply: jschoenfeldt_at_yahoo.com: "Re: Batch-Datei: Randomize copy"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|