Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
548to552
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
548to552
548to552
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

mit Kill-Befehl ganz bestimmte Dateien löschen

mit Kill-Befehl ganz bestimmte Dateien löschen
21.01.2005 11:25:04
Olaf


Hallo alle zusammen,
ich habe ein kleines Makro, welches alle Dateien deren Name in Spalte I komlpett geschrieben steht
aus dem Verzeichnis C:\Test\loeschen in das Verzeichnis c:\Test\aendern kopiert.
Sub Dateien_kopieren()
'kopiert die Dateien aus C:\Test\loeschen in das Verzeichnis C:\Test\aendern
Const quell As String = "C:\Test\loeschen\" 'Pfad der Quelldatei anpassen
Const ziel As String = "C:\Test\aendern\" 'Pfad der Zieldatei anpassen
Dim As Integer, quelldat As String, zieldat As String
For i = Range("I65536").End(xlUp).Row To Step -1
    If Range("I" & i).Value <> "" Then
        quelldat = quell & Range("I" & i).Value
        zieldat = ziel & Range("I" & i).Value
        FileCopy quelldat, zieldat
    End If
Next
End Sub
Jetzt zu meinem Problem
Ich möchte jetzt mit dem Befehl kill genau diese Dateien nach den Kopieren im Ursprungsverzeichnis
C:\Test\loeschen wiklich killen.
Wie muß die Befehlszeile lauten? Irgendwie komme ich nicht weiter, auch die Suche im Archiv
konnte mir bisher leider nicht weiterhelfen.
Ich bitte um Eure Hilfe.
Danke
Gruß
Olaf


10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
wie wäre es mit MoveFile(...) oT
c0bRa
AW gute Idee, aber wie?
21.01.2005 11:34:45
Olaf
Hallo Cobra,
gute Idee, aber wie genau muss dann die Zeile lauten, bin noch am lernen und unsicher.
Danke für Deine Hilfe
Gruß
Olaf
quelldat.MoveFile quell, ziel (ungetestet)
bernd
hallo olaf
versuchs mal so:
(ungetestet)
Option Explicit

Sub Dateien_kopieren()
'kopiert die Dateien aus C:\Test\loeschen in das Verzeichnis C:\Test\aendern
Const quell As String = "C:\Test\loeschen\" 'Pfad der Quelldatei anpassen
Const ziel As String = "C:\Test\aendern\" 'Pfad der Zieldatei anpassen
Dim i As Integer, quelldat As String, zieldat As String
For i = Range("I65536").End(xlUp).Row To 2 Step -1
If Range("I" & i).Value <> "" Then
quelldat = quell & Range("I" & i).Value
quelldat.MoveFile quell, ziel
End If
Next
End Sub

aus der hilfe:
MoveFile-Methode

Beschreibung
Verschiebt eine oder mehrere Dateien von einem Ort an einen anderen.
Syntax
Objekt.MoveFile Quelle, Ziel
Die Syntax der MoveFile-Methode besteht aus folgenden Teilen:
Teil Beschreibung
Objekt Erforderlich. Immer der Name eines FileSystemObject.
Quelle Erforderlich. Der Pfad der zu verschiebenden Datei(en). Die Zeichenfolge des Arguments Quelle kann nur in der letzten Pfadkomponente Platzhalterzeichen enthalten.
Ziel Erforderlich. Der Pfad zu dem Ort, an den die Datei(en) verschoben werden soll(en). Das Argument Ziel kann keine Platzhalterzeichen enthalten.
Anmerkungen
Wenn Quelle Platzhalterzeichen enthält oder Ziel mit einem Pfadtrennzeichen (\) endet, wird angenommen, daß Ziel einen vorhandenen Ordner angibt, in den die übereinstimmenden Dateien verschoben werden sollen. Andernfalls wird angenommen, daß Ziel der Name der zu erstellenden Zieldatei ist. In beiden Fällen können beim Kopieren einer einzelnen Datei drei Dinge passieren:
Wenn das Ziel nicht vorhanden ist, wird die Datei verschoben. Dies ist normalerweise der Fall.
Wenn Ziel eine bereits vorhandene Datei darstellt, kommt es zu einem Fehler.
Wenn es sich beim Ziel um ein Verzeichnis handelt, kommt es zu einem Fehler.
Es kommt außerdem zu einem Fehler, wenn ein in Quelle verwendetes Platzhalterzeichen mit keiner der Dateien übereinstimmt. Die MoveFile-Methode hält beim ersten aufgetretenen Fehler an. Es wird nicht versucht, Änderungen zurückzusetzen, die vor dem Auftreten eines Fehlers durchgeführt wurden.
Wichtig Mit dieser Methode können Dateien nur zwischen Datenträgern verschoben werden, wenn dies vom Betriebssystem unterstützt wird.
bernd
Anzeige
AW: AW gute Idee, aber wie?
c0bRa
hmm... ;)
da gehts dir wie mir ;) hab mit VBA auch noch nciht sonderlich viel gemacht, aber hier der Auszug aus der hilfe:
Syntax
Objekt.CopyFile Quelle, Ziel[, überschreiben]
...
Syntax
Objekt.MoveFile Quelle, Ziel
...
Die Syntax der MoveFile-Methode entspricht also in etwa der der FileCopy-Methode, jedoch mit dem unterschied, dass er mit nem fehler abbricht, wenn der Dateiname im neuen verzeichnis schon gegeben ist...

Das Forum lebt auch von den Rückmeldungen der Fragesteller, ob es geklappt hat...
c0bRa
Anzeige
Mhh, Komplierungsfehler
21.01.2005 12:15:16
Olaf
Hallo Bernd,
hallo cobra,
wenn ich die Zeile ändere auf
quelldat.MoveFile quell, ziel
erhalte ich einen Fehler beim kompilieren, ungültiger Bezeichner
Hat noch jemand eine Idee?
Gruß
Olaf
AW: Mhh, Komplierungsfehler
c0bRa
probier mal
FileSystemObject.MoveFile quelldat, ziel
c0bRa
Ich habs, Ergebnis anbei
21.01.2005 12:51:37
Olaf
Hallo Cobra,
Dein Tip war super, habe noch ein bischen gebastelt und jetzt funzt es.
Danke
Hier das geänderte Makro

Sub Dateien_verschieben()
Dim fs
Set fs = CreateObject("Scripting.FileSystemObject")
'verschiebt die Dateien aus C:\Test\loeschen in das Verzeichnis C:\Test\aendern
Const quell As String = "C:\Test\loeschen\" 'Pfad der Quelldatei anpassen
Const ziel As String = "C:\Test\aendern\" 'Pfad der Zieldatei anpassen
Dim i As Integer, quelldat As String, zieldat As String
For i = Range("I65536").End(xlUp).Row To 2 Step -1
If Range("I" & i).Value <> "" Then
quelldat = quell & Range("I" & i).Value
zieldat = ziel & Range("I" & i).Value
fs.MoveFile quelldat, zieldat
End If
Next
End Sub

Gruß
Olaf
Anzeige
np und danke für Rückmeldung (oT)
c0bRa
AW: Mhh, Komplierungsfehler
c0bRa
oder:

Sub Dateien_kopieren()
'kopiert die Dateien aus C:\Test\loeschen in das Verzeichnis C:\Test\aendern
Const quell As String = "C:\Test\loeschen\" 'Pfad der Quelldatei anpassen
Const ziel As String = "C:\Test\aendern\" 'Pfad der Zieldatei anpassen
Dim i As Integer, quelldat As String, qd As FileSystemObject
For i = Range("I65536").End(xlUp).Row To 2 Step -1
If Range("I" & i).Value <> "" Then
quelldat = quell & Range("I" & i).Value
qd.MoveFile quelldat, ziel
End If
Next
End Sub

siehe AW von mir Danke o.T.
21.01.2005 12:52:57
mir

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige