weezyt
Goto Top

Alle Dateien mit den gleichen Namen via VBS oder Batch in den jeweiligen Ordner kopieren(erstellen)

Moin Leute,

ich bräuchte einen Skript (VBS oder Batch), mit der ich einen Ordner für einzelne Dateien erstellen kann.

In einem Hauptverzeichnis habe ich mehrere Bilder. Der Skript soll also mehrere Ordner erstellen, die Dateien in die Ordner reinjagen und die Ordner sollten jeweils wie die Dateien heißen.

Das schwierige ist allerdings, dass ich solche Bildgruppen habe, die alle in selben Ordner landen sollten.

Z.b

FA_1602021435HquangAD4024BEH033_BML050_UFAL_Tilt_FPC1a-2.37.21 PM.bmp

FA_1602021506Hquangtesttest_BML050_UFAL_Tilt_FPC1a-3.07.57 PM.bmp


Von dem Ersten gibt es mehrere Bilder die ebenfalls ähnlich heissen ( FA_"Nummer ist gleich"). Das gilt auch für das Zweite.

Vielleicht ein Skript, wo man nur den Anfangsbuchstaben berücksichtigt?

Danke im Vorraus

Mfg

Content-ID: 297696

Url: https://administrator.de/forum/alle-dateien-mit-den-gleichen-namen-via-vbs-oder-batch-in-den-jeweiligen-ordner-kopierenerstellen-297696.html

Ausgedruckt am: 23.12.2024 um 09:12 Uhr

114757
Lösung 114757 29.02.2016 aktualisiert um 12:50:00 Uhr
Goto Top
Mit Powershell schnell gemacht
$quelle = 'c:\ordner'  
$ziel = 'c:\ziel'  
gci 'c:\Ordner\FA*' -File | group {$_.Name.Substring(0,13)} | %{  
    $target = "$ziel\$($_.Name)"  
    If (!(TestPath $target) {md $target}
    $_.Group | move-item -Destination $target -Force
}
oder VBS
Const QUELLE = "C:\quelle"  
Const ZIEL = "C:\ziel"  
Set fso = CreateObject("Scripting.Filesystemobject")  

For Each file In fso.GetFolder(QUELLE).Files
	If Len(file.Name) >= 13 Then
		targetfolder = ZIEL & "\" & Left(file.Name,13)  
		If fso.FolderExists(targetfolder) Then fso.CreateFolder targetfolder
		file.Move targetfolder & "\"  
	End If
Next
oder Batch
@echo off & setlocal ENABLEDELAYEDEXPANSION
set "QUELLE=C:\quelle"  
set "ZIEL=C:\ziel"  
for %%a in ("%QUELLE%\FA*")do (  
	set "name=%%~na"  
	set "target=%ZIEL%\!name:~0,13!"  
	if not exist "!target!" md "!target!"  
	move "%%a" "!target!"  
)
Gruß jodel32

p.s. Skripte dieser Art die genau das tun findest du zu 100erten hier im Forum!

-edit- kleine Korrekturen
Weezyt
Weezyt 29.02.2016 um 12:37:40 Uhr
Goto Top
Ich habe mal den Batch Skript probiert und es hat alle bilder aus dem Quellenordner entfernt. Allerdings hat es die Bilder allesamt auf dem Desktop eingefügt. Mein Desktop war sozusagen voll mit Bildern xD. Ich habe als Zielverzeichnis ganz normal den Pfad angegeben.

Und das Vbs will auch nicht so richtig. Ne Idee, woran es legen könnte?
114757
114757 29.02.2016 aktualisiert um 12:45:16 Uhr
Goto Top
Hatte kleine Korrekturen gemacht , s.o. Hier gehen jetzt alle Skripte.
Weezyt
Weezyt 29.02.2016 um 12:50:24 Uhr
Goto Top
Hat funktioniert Super besten Dank.
Weezyt
Weezyt 29.02.2016 um 13:30:40 Uhr
Goto Top
Kennst du evtl. noch einen Skript, mit der ich einen speziellen Unterordner löschen kann, ohne dass die anderen Unterordner davon betroffen werden.

Mit del /s löscht nimmt es alle Unterordner.