| |
 | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: VBS Script dringend gesucht. (1580 mal gelesen)
|
Marc.P.Neumann Mitglied Berlin
 Beiträge: 5 Registriert: 13.10.2011
|
erstellt am: 13. Okt. 2011 23:00 <-- editieren / zitieren --> Unities abgeben:         
Hi !! Ich brauche mal eure Hilfe. Ich muss aus verschiedenen Unterordner die Datein mit der Endung *.Pro in einen Ordner zu kopieren. Die sind auf einem Server und zwar in: \\192.168.1.3\Melag\8T1I6\ Da sind dann noch weitere Unterordner. Da sollten dann die *.pro Datein in ein Verzeichnis kopiert werden und zwar nach: \\192.168.1.3\Melag\Pro_Datein\ Die *pro Datein sind eigentlich eine aus einem Sterilisator stammenden TXT datein. Daher lasse ich diese dann zu einem großen Protokoll zusammenfügen mit dem folgenden TEil meiner CMD Datei und dann dann in einen anderen Ordner verschieben.
Das Klappt auch soweit. Nur das Herausfischen der *pro Datein aus den UNterordnern bekomme ich nicht hin. @echo off FOR /F "tokens=1,2,3,4,5 delims=/. " %%a in ('date/T') do set CDate=%%a.%%b.%%c% %cdate% copy \\192.168.1.3\Melag\Pro_Datein\*.Pro \\192.168.1.3\Melag\Protokolldatein\Autoklav-Protokoll___%cdate%.txt echo ######################################################## echo . echo Es ist im Autoklav Ordner auf dem Desktop ein Protokoll erstellt worden. echo Diese kann nun ausgedruckt oder per Email verschickt werden. echo . echo ########################################################
Pause move \\192.168.1.3\Melag\Pro_Datein\*.Pro \\192.168.1.3\Melag\alt\
[Diese Nachricht wurde von Marc.P.Neumann am 13. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Patrick Weber Mitglied Konstruktionstechniker, Admin
  
 Beiträge: 659 Registriert: 20.11.2006 Win11 Pro 23H2 Core i7-12700, 32GB RAM, Quadro P620 Creo Elements/Direct 19.0 M030 ModelManager 19.0 License Server 19.0 F000 clisp,VB.net,VBA,AHK,Python
|
erstellt am: 14. Okt. 2011 07:49 <-- editieren / zitieren --> Unities abgeben:          Nur für Marc.P.Neumann
Das geht relativ einfach ohne vbs: Code: @echo off setlocal set source=\\192.168.1.3\Melag\Pro_Datein\ set destination=\\192.168.1.3\Melag\alt\ for /f "delims=" %%F in ('dir /b "%source%"') do ( if /i "%%~xF" == ".pro" ( move "%source%%%~nxF" "%destination%" ) ) pause
------------------ Grüße aus Sachsen pw Karl Marx ist tot, Einstein ist tot, und mir ist auch schon ganz schlecht! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Marc.P.Neumann Mitglied Berlin
 Beiträge: 5 Registriert: 13.10.2011
|
erstellt am: 14. Okt. 2011 11:05 <-- editieren / zitieren --> Unities abgeben:         
Hi ! Nee das geht so meiner Meinung nach und auch nach nem Versuch nicht. Also Ziel ist das Verzeichnis \\192.168.1.3\Melag\8T1I6\ mit allen unterordner zu durchsuchen nach *.pro Datein und diese dann zu verschieben nach: \\192.168.1.3\Melag\Pro_Datein\ Das ist die Hürde die mir noch im Weg steht. Wichtig ist dass alle Unterverzeichnisse von \\192.168.1.3\Melag\8T1I6\ durchsucht werden Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
skyzem Mitglied
 
 Beiträge: 400 Registriert: 30.08.2006 Win 7 Enterprise x64 Cornerstone 5.3.0.5 Minitab 16.2.1.0 Excel 2010 Notepad++ 6.3.1 Putty 0.63 Calc.exe
|
erstellt am: 14. Okt. 2011 11:27 <-- editieren / zitieren --> Unities abgeben:          Nur für Marc.P.Neumann
|
Patrick Weber Mitglied Konstruktionstechniker, Admin
  
 Beiträge: 659 Registriert: 20.11.2006
|
erstellt am: 14. Okt. 2011 11:35 <-- editieren / zitieren --> Unities abgeben:          Nur für Marc.P.Neumann
Code: @echo off setlocal set source=\\192.168.1.3\Melag\8T1I6\ set destination=\\192.168.1.3\Melag\Pro_Datein\ for /f "delims=" %%F in ('dir /s /b /a-d "%source%"') do ( if /i "%%~xF" == ".pro" ( move "%%~fF" "%destination%" ) ) pause
------------------ Grüße aus Sachsen pw Karl Marx ist tot, Einstein ist tot, und mir ist auch schon ganz schlecht! [Diese Nachricht wurde von Patrick Weber am 14. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Marc.P.Neumann Mitglied Berlin
 Beiträge: 5 Registriert: 13.10.2011
|
erstellt am: 14. Okt. 2011 11:36 <-- editieren / zitieren --> Unities abgeben:         
Aber da gehts doch ums entpacken. Keine Ahnung bin irgendwie dafür zu blöde. Will ja nur dass \\192.168.1.3\Melag\8T1I6\ inklusive aller unterordern durchsucht wird und alle *.pro Datein in. Unterordner sind nur ein Verzeichnis tief und sehen so aus: 09_2011 10_2011 und da sind dann die Pro Datein drin die verschoben werden sollen nach: \\192.168.1.3\Melag\Pro_Datein\ [Diese Nachricht wurde von Marc.P.Neumann am 14. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Patrick Weber Mitglied Konstruktionstechniker, Admin
  
 Beiträge: 659 Registriert: 20.11.2006 Win11 Pro 23H2 Core i7-12700, 32GB RAM, Quadro P620 Creo Elements/Direct 19.0 M030 ModelManager 19.0 License Server 19.0 F000 clisp,VB.net,VBA,AHK,Python
|
erstellt am: 14. Okt. 2011 11:51 <-- editieren / zitieren --> Unities abgeben:          Nur für Marc.P.Neumann
Zu jedem Befehl gibt es eine Hilfe, teils sogar recht ausführlich. dir /? for /? , da speziell die Erweiterungen der FOR-Variablen ------------------ Grüße aus Sachsen pw Karl Marx ist tot, Einstein ist tot, und mir ist auch schon ganz schlecht! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Marc.P.Neumann Mitglied Berlin
 Beiträge: 5 Registriert: 13.10.2011
|
erstellt am: 14. Okt. 2011 13:01 <-- editieren / zitieren --> Unities abgeben:         
|
Patrick Weber Mitglied Konstruktionstechniker, Admin
  
 Beiträge: 659 Registriert: 20.11.2006 Win11 Pro 23H2 Core i7-12700, 32GB RAM, Quadro P620 Creo Elements/Direct 19.0 M030 ModelManager 19.0 License Server 19.0 F000 clisp,VB.net,VBA,AHK,Python
|
erstellt am: 14. Okt. 2011 13:23 <-- editieren / zitieren --> Unities abgeben:          Nur für Marc.P.Neumann
Wie ich oben schon geschrieben hatte: Code: @echo off setlocal set source=\\192.168.1.3\Melag\8T1I6\ set destination=\\192.168.1.3\Melag\Pro_Datein\ for /f "delims=" %%F in ('dir /s /b /a-d "%source%"') do ( if /i "%%~xF" == ".pro" ( move "%%~fF" "%destination%" ) ) pause
Festlegen des Quell- und Zielverzeichnisses mittels Variablen. Dann wird mittels FOR-Schleife die Rückgabe des dir-Befehls abgearbeitet. Der dir-Befehl durchläuft alle Unterverzeichnisse (/s) des Quellverzeichnisses und gibt alle Dateien (ohne die Verzeichnisse) (/a-d) in einer für den FOR-Befehl verarbeitbaren Form (/b) zurück. In der Schleife ist dann %%F die FOR-Variable, welche den Dateipfad beschreibt. Durch %%~xF holen wir uns die Dateierweiterung aus der FOR-Variablen, vergleichen ohne Berücksichtigung der Groß-/Kleinschreibung (/i) und bearbeiten dadurch nur die von uns gewünschten Dateien (.pro). %%~fF gibt den vollen Pfad (auch Netzwerkpfad) der Datei zurück, mit dessen Hilfe wir die Datei verschieben.Ausgeführt werden dann solche Befehle (Beispiele):
Code: move "\\192.168.117.47\Zeichnungen\z1\001A\102003.pdf" "\\192.168.117.47\Zeichnungen\z2\" move "\\192.168.117.47\Zeichnungen\z1\001A\102004-0060.pdf" "\\192.168.117.47\Zeichnungen\z2\" move "\\192.168.117.47\Zeichnungen\z1\002A\102004-0090.pdf" "\\192.168.117.47\Zeichnungen\z2\" move "\\192.168.117.47\Zeichnungen\z1\002A\102008-0001.pdf" "\\192.168.117.47\Zeichnungen\z2\" move "\\192.168.117.47\Zeichnungen\z1\003A\102012-0003.pdf" "\\192.168.117.47\Zeichnungen\z2\"
------------------ Grüße aus Sachsen pw Karl Marx ist tot, Einstein ist tot, und mir ist auch schon ganz schlecht! [Diese Nachricht wurde von Patrick Weber am 14. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Marc.P.Neumann Mitglied Berlin
 Beiträge: 5 Registriert: 13.10.2011
|
erstellt am: 14. Okt. 2011 13:57 <-- editieren / zitieren --> Unities abgeben:         
|