-
05.07.10 09:26 #1
- Registriert seit
- Jan 2005
- Beiträge
- 13
Hallo an Alle,
ist es möglich im Kopierbefehl eine Variable einzubinden so wie hier bei den konvertieren?
Kopieren.copyFile "Ordner\Ordner\" & vari & "\Ordner\dat.doc", "Ordner1\Ordner1\" & vari & ".doc", True
MfG flame4ever
-
Welchen Kopierbefehl?
Grundsätzlich ja.---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
05.07.10 09:34 #3
- Registriert seit
- Jan 2005
- Beiträge
- 13
Diesen meine ich:
Kopieren.copyFile "Ordner\Ordner\" & vari & "\Ordner\dat.doc", "Ordner1\Ordner1\" & vari & ".doc", True
nur wie übergebe ich richtig eine Variable?
-
Ist Kopieren ein Object einer selbstgeschriebenen Klasse? Oder was ist Kopieren?
Nochmals: Grundsätzlich sieht dein Code gut aus. Nur weiss ich nicht, wass Kopieren.copyFile für Parameter erwartet, ergo kann ich dir nicht sagen ob das so mit den Parametern richtig ist.
Und wie du die Variable 'vari' befüllst weisst du wohl selber.
Also, was ist die Frage?
Nachtrag:
Wirklich sauber währe so etwas (in der Annahme, dass Kopieren ein FileSystemObject ist)
Code vb:1 2 3 4 5 6 7 8
Dim srcPath AS String Dim dstPath AS String Dim fso As New FileSystemObject srcPath = "Ordner\Ordner\" & vari & "\Ordner\dat.doc" dstPath = "Ordner1\Ordner1\" & vari & ".doc" Call fso.copyFile(Source:=srcPath, Destination:=dstPath, OverWriteFiles:=True)
Geändert von Yaslaw (05.07.10 um 09:41 Uhr)
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
05.07.10 10:16 #5
- Registriert seit
- Jan 2005
- Beiträge
- 13
Ja da hast du recht.
Set Kopieren = CreateObject("Scripting.FileSystemObject")
vorher habe ich einen ordnernamen ausgelesen und in vari hinterlegt, weil die datei genaus heisen soll.
Also war der code gundsätzlich richtig?
-
Ja, er ist grundsätzlich richtig
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
05.07.10 12:46 #7
- Registriert seit
- Jan 2005
- Beiträge
- 13
das ist ja schon mal gut und wie bekomme ich es jetzt noch hin alles in eine schleife zu packen, um so mehrere ordner (anzahl unbekannt) bearbeiten zu können?
-
Bitte definiere deine Schleife mal genauer. Über was soll sie gehen? Hast du ein Array mit den Variablen? Ist es ein Zähler? Ist es eine Leiste aus einer ListBox?
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
05.07.10 13:44 #9
- Registriert seit
- Jan 2005
- Beiträge
- 13
Das ist das script es liest den namen eines Ordners aus um dann dateien wie den Ordner zu benennen und zu verschieben.
Jetzt benötige ich eine schleife die das mit alles Ordnern in dem Ordner macht
und aufhört wenn alles Ordner abgearbeitet sind.
Wenn du fragen hast einfach schreiben.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Dim Kopieren, objFSO, oFolders, oFolder, oSubFolders, Text Set Kopieren = CreateObject("Scripting.FileSystemObject") Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set oFolders = objFSO.GetFolder("Ordner1\Ordner2\") 'Festlegen des Hauptordners Set oSubFolders = oFolders.SubFolders ' Ermitteln der Unterordner Dim vari(10) ' Feldgröße definieren For Each oFolder In oSubFolders For test = 1 To 10 Text = oFolder.Name ' Speichern des aktuellen unterordner in Variable Text vari(test) = "Name " &Text ' Zuweiseung Feld Next Next Kopieren.copyFile "Ordner1\Ordner2\" & vari & "\Ordner3\dat1.doc", "Ordner1\Ordner6\" & vari & ".doc", True If Kopieren.FileExists ("Ordner1\Ordner2\" & vari & "\Ordner4\dat2.doc") Then Kopieren.copyFile "Ordner1\Ordner2\" & vari & "\Ordner3\Ordner4\dat2.doc", "Ordner1\Ordner5\" & vari & ".doc", True End If Kopieren.copyFile "Ordner1\Ordner2\" & vari & "\Ordner3\Ordner4\dat3.doc", "Ordner1\Ordner5\" & vari & ".doc", True
-
Schmeiss den ganzen Kopieren-Teil in die Schleife (For Each... Next) die du hast. Und schon macht er das mit jedem Ordner *g*. Die For test= Schleife brauchst du nicht.
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
06.07.10 07:46 #11
- Registriert seit
- Jan 2005
- Beiträge
- 13
So hab ich es jetzt aber der erkennt den dateipfad nicht, kann es sein das $Text nicht richtig übergeben wir?
MfG flame4ever
HTML-Code:Dim Kopieren, objFSO, oFolders, oFolder, oSubFolders, Text Set Kopieren = CreateObject("Scripting.FileSystemObject") Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set oFolders = objFSO.GetFolder("Ordner1\Ordner2\") 'Festlegen des Hauptordners Set oSubFolders = oFolders.SubFolders ' Ermitteln der Unterordner For Each oFolder In oSubFolders Text = oFolder.Name ' Speichern des aktuellen unterordner in Textable Text Kopieren.copyFile "Ordner1\Ordner2\" & Text & "\Ordner3\dat1.doc", "Ordner1\Ordner6\" & Text & ".doc", True If Kopieren.FileExists ("Ordner1\Ordner2\" & Text & "\Ordner4\dat2.doc") Then Kopieren.copyFile "Ordner1\Ordner2\" & Text & "\Ordner3\Ordner4\dat2.doc", "Ordner1\Ordner5\" & Text & ".doc", True End If Kopieren.copyFile "Ordner1\Ordner2\" & Text & "\Ordner3\Ordner4\dat3.doc", "Ordner1\Ordner5\" & Text & ".doc", True Next
-
Du hast da ein ziemliches Chaos drin. Warum Kopieren und objFSO? Das sind 2 Objekte derselben Klasse.
Was zum Teufel kopierst du dann alles herum?
Mach doch mal ein kleines Datenbeispiel. Also die Struktir IST und die Struktur SOLL
Etwa so
Code :1 2 3 4 5 6 7 8 9 10 11 12
IST: HaubtOrdner/Ordner1/Datei1.txt /Datei2.txt /Ordner1/Datei3.txt /Datei4.txt SOLL: Haubtordner/NeuerOrdner/Ordner1_Datei1.txt /Ordner1_Datei2.txt /Ordner1_Datei3.txt /Ordner1_Datei4.txt
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
06.07.10 15:25 #13
- Registriert seit
- Jan 2005
- Beiträge
- 13
Hab es jetzt etwas verständlicher beschrieben.
1. auslesen wie der ordner zb_test heist.
2.Datei pa.doc nach pa kopieren und zu zb_test(pa).doc (ausgelesener ordnername) umbenennen.
3.wenn m2.doc in pr\zb_test\pa\Q da ist -> nach \Q kopieren und zb_test(pa).doc (ausgelesener ordnername) umbenennen
-> wenn nicht dann m1.doc aus pr\zb_test\pa\Q -> nach \Q kopieren und zb_test(pa).doc (ausgelesener ordnername) umbenennen
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
IST: \pa \pr \zb_test \pa \pa.doc \Q m1.doc m2.doc \Q SOLL: \pa zb_test(pa).doc \pr \zb_test \pa \pa.doc \Q m1.doc m2.doc \Q zb_test(m2).doc
Code vb:1 2 3 4 5 6 7 8 9 10 11 12
Dim objFSO, oFolders, oFolder, oSubFolders, Text Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set oFolders = objFSO.GetFolder("Au\Pr\") 'Festlegen des Hauptordners Set oSubFolders = oFolders.SubFolders ' Ermitteln der Unterordner For Each oFolder In oSubFolders Text = oFolder.Name ' Speichern des aktuellen unterordner in Textable Text objFSO.copyFile "Au\Pr\"& Text &"\Pa\Pa.doc", "Au\Pa\"& Text &".doc", True If objFSO.FileExists ("Au\Pr\"& Text &"\Pa\Q\M2.doc") Then objFSO.copyFile "Au\Pr\"& Text &"\Pa\Q\M2.doc", "Au\Q\"& Text &".doc", True End If objFSO.copyFile "Au\Pr\"& Text &"\Pa\Q\M1.doc", "Au\Q\"& Text &".doc", True Next
-
So gehts recht einfach
Code vb:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
Public Sub copyMyFiles() On Error GoTo Err_Handler Const C_START_PATH As String = "C:\temp\vbtest\" Dim fso As New FileSystemObject 'Dateisystem Dim srcMasterFolder As folder 'Sourcen-Ordner "\pr" Dim nameFolder As folder 'Ordner der die neuen Dateinamen bestimmt "\pr\zb_test" Set srcMasterFolder = fso.GetFolder(C_START_PATH & "pr") For Each nameFolder In srcMasterFolder.SubFolders Call copyMyFilesLoop(nameFolder, nameFolder.name, C_START_PATH) Next nameFolder Exit_Handler: On Error Resume Next 'Alle Objekte zerstören Set nameFolder = Nothing Set srcFolder = Nothing Set fso = Nothing Exit Sub Err_Handler: MsgBox Err.Description GoSub Exit_Handler End Sub ' @param actFolder Aktueller Ordner ' @param name Name der für die Dateinamenerstellung gebraucht wird ' @param startPath C_START_PATH Public Sub copyMyFilesLoop(ByVal actFolder As folder, ByVal name As String, ByVal startPath As String) On Error GoTo Err_Handler Dim srcFolder As folder 'Ordner mit den Source-Dateien Dim srcFile As File 'Zu kopierende Datei Dim dstName As String 'Ziel-Dateiname For Each srcFolder In actFolder.SubFolders For Each srcFile In srcFolder.Files dstName = name & "_" & srcFile.name Call srcFile.Copy(startPath & srcFolder.name & "\" & dstName, True) Next srcFile 'Sich selber aufrufen um Unterordner ebenfalls abzuarbeiten Call copyMyFilesLoop(tmpFolder, name, startPath) Next srcFolder Exit_Handler: On Error Resume Next 'Alle Objekte zerstören Set srcFolder = Nothing Set srcFile = Nothing Exit Sub Err_Handler: MsgBox Err.Description GoSub Exit_Handler End Sub
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
07.07.10 14:29 #15
- Registriert seit
- Jan 2005
- Beiträge
- 13
Ist es mit meinem Script auch möglich oder ist es komplett falsch?
Ähnliche Themen
-
C - Eine Variable aufsummieren bis zu einem Wert, Variable einfrieren und Werte auf..
Von Malte-Micha im Forum C/C++Antworten: 7Letzter Beitrag: 29.11.10, 14:10 -
Per Hotkey aus fremden Programmen kopieren und als Variable verwenden.
Von Brandpost im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 02.02.08, 23:55 -
Text aus ListBox in Variable kopieren
Von Terminator2 im Forum Visual Basic 6.0Antworten: 2Letzter Beitrag: 09.10.06, 15:13 -
Graphics objekt sauber in Variable kopieren
Von Schnubbel im Forum JavaAntworten: 3Letzter Beitrag: 08.06.04, 00:45 -
Teilstücke aus Variable in seperate V. kopieren
Von bspainkf36 im Forum PHPAntworten: 2Letzter Beitrag: 21.03.04, 23:51



1Danke

Zitieren

Login





