Microsoft MVPs inside





 MCSEboard.de – IT Pro Forum zu Windows Server 2008 R2 / 2008 / 2003 & Windows 7 / Vista / XP
Registrieren Hilfe Regeln Benutzerliste Suchen Heutige Beiträge Alle Foren als gelesen markieren

Windows Forum — Scripting


Alles zum Thema System Administration Scripting — Q & A zum Thema Scripting: Batch, VBS, WMI, PowerShell


Antwort
     
Themen-Optionen
Alt 01.04.2008, 15:33   #1
Expert Member
 
Offline
Registriert seit: 11-2002
Beiträge: 2.846
Frage 2700 Dateien anhand Dateinamen in Ordner verschieben

Servus,

ich hab derzeit folgendes Problem:

in einem Ordner liegen ca. 2700 mit Dateinamen ala DBA_3_xxxx_xxx.tif.
Diese Dateien sollen in Ordner kopiert werden, die die Namen DBA_3_xxxx tragen.
Wenn der passende Ordner zu einer Datei nicht vorhanden ist muss dieser natürlich vorher erstellt werden.

Beispiel:

DBA_3_0001_001.tif
DBA_3_0001_013.tif
müssen in den Ordner DBA_3_0001

DBA_3_0142_321.tif
muss in den Ordner DBA_3_0142

usw...

Mein Problem hierbei ist, dass die Dateien nicht von 0 bis irgendwas durchgängig vorhanden sind. Ich hab jetzt selber versucht das ganze unter vbscript umzusetzen - bin aber mit Erfolg gescheitert. In der Boardsuche konnte ich leider nichts passendes finden.

Wer kann helfen?

Gruß saracs
    Mit Zitat antworten
Alt 01.04.2008, 15:45   #2
Expert Member
 
Benutzerbild von phoenixcp
 
Offline
Registriert seit: 02-2004
Ort: Radebeul
Beiträge: 5.470
Hi saracs

Hilft dir das hier weiter? https://www.mcseboard.de/windows-for...ng-131940.html

Signatur
MfG

Carsten Paul
MCSEBoard.de SQL Blog
Kein Support per PN, dafür ist das Forum da!

In Memory of LukasB

    Mit Zitat antworten
Alt 01.04.2008, 16:09   #3
Expert Member
 
Offline
Registriert seit: 11-2002
Beiträge: 2.846
Vielen Dank,

ein guter Ansatz. Jetzt muss ich nur noch schauen wie ich die nicht vorhandenen Ordner abfrage und ggf. automatisch erstellen kann.

Irgendwie hat ich das scripten einfacher in Erinerrung

Gruß saracs
    Mit Zitat antworten
Alt 01.04.2008, 16:21   #4
Junior Member
 
Offline
Registriert seit: 01-2006
Beiträge: 97
Moin saracs,

ich würde es mit zwei Zeilen vom CMD-Prompt aus abfackeln.

Code:
for /f "delims=_ tokens=1-3 " %i in ('dir /a-D /b d:\einDBADir\DBA_3_*') do @if not exist "d:\einDBADir\%i_%j_%k" md "d:\einDBADir\%j_%j%k"
for /f "delims=_ tokens=1-3 " %i in ('dir /aD /b d:\einDBADir\DBA_3_*') do move "d:\einDBADir\%i_%j_%k*.tif" "d:\einDBADir\%j_%j%k\"
[ungetestete Skizze]

Grüße
Biber
    Mit Zitat antworten
Alt 01.04.2008, 16:21   #5
Expert Member
 
Benutzerbild von phoenixcp
 
Offline
Registriert seit: 02-2004
Ort: Radebeul
Beiträge: 5.470
Hm, wenn du Robocopy nimmst, kannst du dir das sparen. Wenn der Pfad nicht vorhanden ist, legt er den an

Signatur
MfG

Carsten Paul
MCSEBoard.de SQL Blog
Kein Support per PN, dafür ist das Forum da!

In Memory of LukasB

    Mit Zitat antworten
Alt 01.04.2008, 16:47   #6
Expert Member
 
Offline
Registriert seit: 11-2002
Beiträge: 2.846
Servus,

hier meine Lösung:

Code:
@echo off

cls

set SRC=c:\quelle
set DEST=c:\ziel

for /f "tokens=4" %%i in ('dir %SRC% ^| find "_"') do (
	for /f "tokens=1-3 delims=_" %%j in ("%%i") do (
		
		 md %DEST%\%%j_%%k_%%l 2>nul
				
		
		 echo copy %SRC%\%%i %DEST%\%%j_%%k_%%l\%%i

		 copy %SRC%\%%i %DEST%\%%j_%%k_%%l\%%i >nul

		if %errorlevel% EQU 0 (
			echo Datei  %%i  erfolgreich nach  %%j\%%k\%%l  kopiert
		) else (
			echo FEHLER beim Verarbeiten der Datei  %%i
		)
	)
)
Vielen Dank an alle, besonder phonixcp für den ersten Link!

Gruß saracs

PS: grrr... war ja klar, dass irgendwas wieder nicht funktionieren wird Im Moment wird nur die erste Datei kopiert. der rest bleibt unberührt, obwohl kein Fehler gemeldet wird... Ich poste wieder sobald es was neues gibt.

PPS: Habe nun den Code berichtigt. Funktioniert einwandfrei

Geändert von saracs (01.04.2008 um 17:21 Uhr). Grund: gelöst
    Mit Zitat antworten
Antwort


Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Dateien in "Eigene Dateien" bekommen als Dateinamen nur noch Zahlen.... Pimboli Windows Server Forum 2 04.12.2007 14:43
XP - Dateien Kopieren XCOPY / DOS / Lange dateinamen sas0r Windows Forum — LAN & WAN 12 12.04.2007 15:39
Exchange 2k3 - Mails anhand des Betreffs oder Headers verschieben mg_it MS Exchange Forum 1 24.04.2006 12:02
VB Script - Dateien aus Ordner verschieben MurphY MacManus Windows Forum — Allgemein 10 03.11.2005 16:16
Verhindern aus versehen Ordner/Dateien zu verschieben? NeX Windows Forum — Allgemein 2 23.01.2004 20:21


Alle Zeitangaben in MEZ/CET. Es ist jetzt 15:04 Uhr. Seite generiert in 0,034 Sekunden.

- Unsere Partner -

Copyright © 2000 – 2012 MCSEboard.de

Sprung zum Seitenanfang