| |
 | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Pfad von Daten bekommen (3080 mal gelesen)
|
Heiko76 Mitglied Applikationsingenieur
  
 Beiträge: 589 Registriert: 21.03.2002 Win10 64bit Autodesk Produkte 2018 VB.net / Powershell
|
erstellt am: 06. Sep. 2005 13:20 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, ich muß ganzdringend ein Tool haben, mit dem ich mehrere Verzeichnisse (oder auch nur eins) durchlaufen kann und die Pfade von jeder einzelnen Datei in einer Listbox oder SQL-Datenbank oder oder oder schreiben kann. Kann mir da jemand helfen??? ------------------ cu Heiko Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx

 Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 06. Sep. 2005 13:43 <-- editieren / zitieren --> Unities abgeben:          Nur für Heiko76
|
Heiko76 Mitglied Applikationsingenieur
  
 Beiträge: 589 Registriert: 21.03.2002
|
erstellt am: 06. Sep. 2005 13:55 <-- editieren / zitieren --> Unities abgeben:         
|
BloodyMess Mitglied Applicationingenieur
  
 Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 (SP2 & SP1) / Win XP pro (SP1) & Win 2000 pro (SP4) AutoCAD Map 2000i / WinNT (SP6)
|
erstellt am: 07. Sep. 2005 07:33 <-- editieren / zitieren --> Unities abgeben:          Nur für Heiko76
Hallo, bei mir, W2K + SP4, tut das Script. Das Objekt 'WScript' wird nicht deklariert! Es ist überall verfügbar und liefert Dir Standardfunktionen wie 'Echo' und 'Exit' aus WScript. z.B. könntest statt 'CreateObject' auch 'Wscript.CreateObject' schreiben. Grüssle TP ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Heiko76 Mitglied Applikationsingenieur
  
 Beiträge: 589 Registriert: 21.03.2002
|
erstellt am: 07. Sep. 2005 08:04 <-- editieren / zitieren --> Unities abgeben:         
|
BloodyMess Mitglied Applicationingenieur
  
 Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 (SP2 & SP1) / Win XP pro (SP1) & Win 2000 pro (SP4) AutoCAD Map 2000i / WinNT (SP6)
|
erstellt am: 07. Sep. 2005 08:13 <-- editieren / zitieren --> Unities abgeben:          Nur für Heiko76
Mal als kleinen test, ob er das Object überhaupt findet. Code: WScript.echo "Das is´n Tescht!"
Verschrieben haste Dich auch nicht? Mache mal einen ScreenShot von dem Fehler. Grüssle TP ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Heiko76 Mitglied Applikationsingenieur
  
 Beiträge: 589 Registriert: 21.03.2002
|
erstellt am: 07. Sep. 2005 08:58 <-- editieren / zitieren --> Unities abgeben:         
|
BloodyMess Mitglied Applicationingenieur
  
 Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 (SP2 & SP1) / Win XP pro (SP1) & Win 2000 pro (SP4) AutoCAD Map 2000i / WinNT (SP6)
|
erstellt am: 07. Sep. 2005 09:23 <-- editieren / zitieren --> Unities abgeben:          Nur für Heiko76
Hallo Heiko, das kann ja auch nicht gehen. Du bist in einer Entwicklungumgebung! Das Script vom Axel ist für WSH geschrieben. Lad Dir die Datei nochmal runter, benenn sie um in *.vbs und dann führe diese mal aus. Für welches VB bzw. VBA möchtest denn eine Lösung? Gruss TP ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Heiko76 Mitglied Applikationsingenieur
  
 Beiträge: 589 Registriert: 21.03.2002
|
erstellt am: 07. Sep. 2005 09:39 <-- editieren / zitieren --> Unities abgeben:         
|
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx

 Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 07. Sep. 2005 09:45 <-- editieren / zitieren --> Unities abgeben:          Nur für Heiko76
Hallo Heiko, hatte nicht viel Zeit ebim Posten (3 Minuten vor einer Sitzung). Wie TP gesagt hat speichere es mit der Dateiendung vbs ab und mach einen Doppelklick darauf. Es funktioniert aber auch nur wenn vbs ausführen auf Deinem Rechner zugelassen ist. Was das Script mach ist einfach einen Ordber abfragen und dan diesen recursiv nach unten auflösen und den Dateinamen mit Pfad ausgeben. Wenn Du es in einer Kommand Box mit "cscript batch_dir.vbs > a.txt" dann wird der Output in eine Textdatei umgeleitet. Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Heiko76 Mitglied Applikationsingenieur
  
 Beiträge: 589 Registriert: 21.03.2002
|
erstellt am: 07. Sep. 2005 09:52 <-- editieren / zitieren --> Unities abgeben:         
Aaaaaahhhhhhh!!!!!! Jetzt habe ich es verstanden. Super, es geht. Kann man da auch vor dem Pfad den Dateinamen / einen Teil des Dateinamens schreiben und die beiden Angaben mit einem ; trennen? ------------------ cu Heiko Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BloodyMess Mitglied Applicationingenieur
  
 Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 (SP2 & SP1) / Win XP pro (SP1) & Win 2000 pro (SP4) AutoCAD Map 2000i / WinNT (SP6)
|
erstellt am: 07. Sep. 2005 10:03 <-- editieren / zitieren --> Unities abgeben:          Nur für Heiko76
WSH ist der Windows Scripting Host ... der ist zum ausführen von Viren und Würmern geschrieben worden ..  für VB sollte nachfolgendes tun
Code: Sub test()Dim oFolder As Scripting.Folder Dim oFile As Scripting.File Dim FSO As New FileSystemObject Set oFolder = FSO.GetFolder("C:\") For Each oFile In oFolder.Files Debug.Print oFile.ShortName Next oFile End Sub
Verweis auf 'Microsoft Scripting Runtime' nicht vergessen. Ordnerauswahldialog bekommst mit diesem Code
Code: ''OrdnerAuswahlDialog Dim oShell As Object Dim oFolder As ObjectSet oShell = CreateObject("Shell.Application") Set oFolder = oShell.BrowseForFolder(0, "Bitte einen Ordner auswählen", 1)
Gruß TP ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BloodyMess Mitglied Applicationingenieur
  
 Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 (SP2 & SP1) / Win XP pro (SP1) & Win 2000 pro (SP4) AutoCAD Map 2000i / WinNT (SP6)
|
erstellt am: 07. Sep. 2005 10:23 <-- editieren / zitieren --> Unities abgeben:          Nur für Heiko76
und als komplette Anwendung mit DateiauswahlDialog ... viel Spaß Code: Option ExplicitSub start() ''OrdnerAuswahlDialog Dim oShell As Object Dim oFolder As Object Dim fol As Folder Set oShell = CreateObject("Shell.Application") Set oFolder = oShell.BrowseForFolder(0, "Bitte einen Ordner auswählen", 1) ''auf oFolder muss jetzt rekursiv gesucht werden Dim FSO As New FileSystemObject Set fol = FSO.GetFolder(oFolder.self.Path) SearchAllFiles (fol) End Sub Private Sub SearchAllFiles(ByVal sPath As String) Dim Folder As Folder Dim SubFolder As Folder Dim FSO As New FileSystemObject Dim File As File If Right$(sPath, 1) <> "\" Then sPath = sPath & "\" Set Folder = FSO.GetFolder(sPath) For Each File In Folder.Files Debug.Print Folder.Path & "\" & File.Name Next File On Local Error Resume Next If Folder.SubFolders.Count > 0 Then For Each SubFolder In Folder.SubFolders SearchAllFiles sPath & SubFolder.Name Next End If End Sub
Gruß TP ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx

 Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 07. Sep. 2005 10:49 <-- editieren / zitieren --> Unities abgeben:          Nur für Heiko76
@TP Du machst für alle lokalen kleinen Verwaltungsaufgaben gleich ein exe File, Respekt so viel Zeit habe ich nicht. Mit vbs geht so etwas halt recht schnell und mit js bist Du auch nicht viel besser dran, musst halt dafür sorgen dass Du nach aussen hin sicher bist (soweit es geht) dann hast Du mit den js oder vbs kein Problem. Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Heiko76 Mitglied Applikationsingenieur
  
 Beiträge: 589 Registriert: 21.03.2002
|
erstellt am: 07. Sep. 2005 10:57 <-- editieren / zitieren --> Unities abgeben:         
@TP Danke, das ist eine ganze Menge. @Axel Ist es möglich unter VBS, das ich zb. für die Datei C:\Temp\1Testdatei.txt den folgenden Eintrag nachher in der Textdatei habe: 1;Test;C:\Temp\1Testdatei.txt ------------------ cu Heiko Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BloodyMess Mitglied Applicationingenieur
  
 Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 (SP2 & SP1) / Win XP pro (SP1) & Win 2000 pro (SP4) AutoCAD Map 2000i / WinNT (SP6)
|
erstellt am: 07. Sep. 2005 11:06 <-- editieren / zitieren --> Unities abgeben:          Nur für Heiko76
@Axel ... nein die Zeit hab i auch net  ... Ich öffne Word oder Excel ... 'Alt+F11' .. und schon hab i eine Entwicklungsumgebung für VBA ... VBS ist ja auch nur ein abgespecktes VB. Deshalb nimmt sich das nicht viel - meine Meinung. Wahrscheinlich gibt es für VBS auch Editoren. Ist über z.B. Word auch schnell gemacht - son kleines Prog zusammengebastelt. @Heiko .. was ist die '1'? - ein Zähler für Dateien? was ist 'Test'? Gruß TP ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx

 Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 07. Sep. 2005 11:11 <-- editieren / zitieren --> Unities abgeben:          Nur für Heiko76
@Heiko, versuche das mal, wobei mir Deine Anforderung jetzt nicht ganz klar ist. @TP Dann bist Du fast gleich weit, mir ist da aber vbs etwas lieber(Schau dir mal Source Edit an als Editor, da gibt es dann auch einen template für vbs oder Du kannst auch den standard Microsoft Script Editor nehmen), aber jetzt kommen wir ins Philosophieren ;-) Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Heiko76 Mitglied Applikationsingenieur
  
 Beiträge: 589 Registriert: 21.03.2002
|
erstellt am: 07. Sep. 2005 12:26 <-- editieren / zitieren --> Unities abgeben:         
Ich glaub ich habe mich da etwas dumm ausgedrückt. Unsere Dateien lauten z.B. A1234500XX23 wobei A die Kennung der Abteilung/Werk ist, 12345 ist eine fortlaufende Zahl, 00 ist der Änderungsstand XX ist das Produkt, 2 ist die Zeichnungsart und 3 ist das Blattformat. Was ich aber brauche ist: Werk;Fortlaufende Nummer;Pfad komplett also z.B. A;12345;c:\Temp\A1234500XX23 ------------------ cu Heiko Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BloodyMess Mitglied Applicationingenieur
  
 Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 (SP2 & SP1) / Win XP pro (SP1) & Win 2000 pro (SP4) AutoCAD Map 2000i / WinNT (SP6)
|
erstellt am: 07. Sep. 2005 13:11 <-- editieren / zitieren --> Unities abgeben:          Nur für Heiko76
Hallo Heiko, ich für meinen Teil kann Dich nur auf die Funktionen zur Stringbearbeitung hinweisen. Da das sicher nur eine einzige Datei aus Eurem gesamten Datenbestand ist, wird es Ausnahmen geben und es ist somit keine Standardlösung möglich. Schau Dir die Methoden 'VBA.Left', 'VBA.Right', 'VBA.Mid', 'VBA.Len' und 'VBA.InStr' an. Damit sollte es Dir möglich sein, den String 'File.Name' jeweils so zu zerlegen, dass Du den an eine Variablen Werk und Nummer übergeben kannst oder kopierst es in einen String rein. Diese/n kannst dann auch so ausgeben, wie Du das gern hättest. Ich nehme an, dass Du das aber schon probiert hast .. .. Poste doch einfach mal deinen Code, wo Du nicht weiterkommst. Gruß TP ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx

 Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 07. Sep. 2005 13:50 <-- editieren / zitieren --> Unities abgeben:          Nur für Heiko76
Also dies ist der letzte Versuch, ansonsten musst Du dich halt doch ein wenig mit der vb / vbs Syntax auseinandersetzen wie es TP bereits gesagt hat. Ansonsten 100% Lösungen kosten Geld  . Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Heiko76 Mitglied Applikationsingenieur
  
 Beiträge: 589 Registriert: 21.03.2002
|
erstellt am: 07. Sep. 2005 14:42 <-- editieren / zitieren --> Unities abgeben:         
Hi Axel, dieses VBS hört sich wirklich interessant an. Ich glaub ich werd mich da mal ein bischen versuchen reinzuprogrammieren. Der Code ist Perfekt. Genau das was ich gesucht habe. DANKE an Euch Beiden!!!! ------------------ cu Heiko Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |