Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Dateien von der Quelle zum Ziel (eine Ebene höher) kopieren

Mitglied: darebo

darebo (Level 1) - Jetzt verbinden

11.07.2018 um 16:41 Uhr, 288 Aufrufe, 8 Kommentare

Hallo,

es gibt einen Quellbereich mit mehreren tausend Ordnern und Dateien z.B.:

C:\temp\Quelle\*\N

  • - steht für wechselnde, beliebige Ordner (z.B. GUID)

Bsp:
C:\temp\Quelle\0A519B3F-17C1-4264-88B7-550D47ECC903\N\*.*
C:\temp\Quelle\0A0554C4-7CD2-48D6-AB9B-5ACAA2E8B227\N\*.*
C:\temp\Quelle\0CBCA949-9E83-4119-B3CD-5B3BFB9D8488\N\*.*
C:\temp\Quelle\EB6B5212-1DEE-4FA7-B7D7-D32606B32D4D\N\*.*
usw.

Unterhalb des letzten Ordners befinden sich jeweils unterschiedliche Dateien/Dateitypen. Es sollen aber u.a. nur die .txt Dateien vom Quell- zum Zielbereich kopiert werden. Die Struktur des Quellbereiches soll nicht verändert werden.

Aktuell ist der Zielbereich leer. Der Zielbereich soll schlussendlich nach der Kopieraktion fast die ähnliche Struktur ( GUID\*.txt ) wie der Quellbereich haben. Der Zielbereich liegt speichermäßig aber völlig woanders und die Dateien sollen eine Ebene höher rutschen. Zum Testen habe ich daher den nachfolgenden Bereich gewählt.

C:\temp\Ziel\*\

  • - steht für wechselnde Ordner aus der Quelle (z.B. GUID)

So soll nach der Kopieraktion der Zielbereich aussehen.
Bsp.:

C:\temp\Ziel\0A519B3F-17C1-4264-88B7-550D47ECC903\*.txt
C:\temp\Ziel\0A0554C4-7CD2-48D6-AB9B-5ACAA2E8B227\*.txt
C:\temp\Ziel\0CBCA949-9E83-4119-B3CD-5B3BFB9D8488\*.txt
C:\temp\Ziel\EB6B5212-1DEE-4FA7-B7D7-D32606B32D4D\*.txt
usw.

Ich hoffe es ist einigermaßen klar beschrieben.

Einige Ansätze mit der for-Schleife habe ich gemacht. Scheitere aber beim Anlegen der Zielstruktur mit jeweils einen Unterordner weniger.

Danke vorab für die Unterstützung.
Mitglied: Tezzla
11.07.2018 um 17:04 Uhr
01.
foreach ($currywurst in (get-childitem "Root wo deine Zielordner liegen" -directory).fullname) 
02.
03.
  robocopy "Quellverzeichnis wo deine TXT liegt" "$currywurst" pommes.txt 
04.
}
Durchläuft das Zielverzeichnis "Currywurst" und kopiert in jeden Unterordner die "Pommes.txt".
Kommt das so ungefähr hin?

VG
Tezzla
Bitte warten ..
Mitglied: darebo
11.07.2018 um 17:16 Uhr
Sorry, ich glaube das passt nicht so. Die Zielstruktur gibt's es noch nicht. Diese soll sich wie weiter beschrieben aus Teilen der Quellstruktur zusammensetzen.

Aus dem Quellbereich sollen die fett markierten Ordner und die jeweils im letzten Unterordner (..\N\) befindlichen unterschiedlichen .txt Dateien an das Ziel kopiert werden:

C:\temp\Quelle\0A519B3F-17C1-4264-88B7-550D47ECC903\N\*.*
C:\temp\Quelle\0A0554C4-7CD2-48D6-AB9B-5ACAA2E8B227\N\*.*
C:\temp\Quelle\0CBCA949-9E83-4119-B3CD-5B3BFB9D8488\N\*.*
C:\temp\Quelle\EB6B5212-1DEE-4FA7-B7D7-D32606B32D4D\N\*.*
...

Zielbereich
C:\temp\Ziel\0A519B3F-17C1-4264-88B7-550D47ECC903\*.txt
C:\temp\Ziel\0A0554C4-7CD2-48D6-AB9B-5ACAA2E8B227\*.txt
C:\temp\Ziel\0CBCA949-9E83-4119-B3CD-5B3BFB9D8488\*.txt
C:\temp\Ziel\EB6B5212-1DEE-4FA7-B7D7-D32606B32D4D\*.txt

Daher müsste der Quellbereich eingelesen und nur der vorletzte Ordner (fett markierte) genommen werden und dieser Ordner im Zielbereich erstellt werden sowie die .txt Dateien dort hineinkopiert werden.
Bitte warten ..
Mitglied: colinardo
LÖSUNG 11.07.2018, aktualisiert um 18:18 Uhr
Servus,

Powershell (mit Kommentaren):
01.
# Quellordner 
02.
$quelle = 'D:\quelle' 
03.
# Zielordner 
04.
$ziel = 'D:\ziel' 
05.
# Schleife über die Ordner der Quelle 
06.
gci $quelle -Directory | %{ 
07.
    # Zielordner festlegen 
08.
    $target = "$ziel\$($_.Name)" 
09.
    # Zielordner erstellen wenn er noch nicht existiert 
10.
    if(!(test-Path $target)){md $target -Force | out-null} 
11.
    #  Alle Textdateien aus dem Unterordner "\N" in die Zielstruktur kopieren 
12.
    gci "$($_.FullName)\N" -Filter *.txt -Recurse -File | copy-item -Destination $target -Verbose 
13.
}
oder Batch:
01.
@echo off 
02.
set "quelle=D:\Quelle" 
03.
set "ziel=D:\Ziel" 
04.
for /d %%a in ("%quelle%\*") do ( 
05.
    if not exist "%ziel%\%%~nxa" md "%ziel%\%%~nxa" >nul 
06.
    copy "%%~a\N\*.txt" "%ziel%\%%~nxa\" 
07.
)
Grüße Uwe
Bitte warten ..
Mitglied: darebo
12.07.2018 um 15:11 Uhr
Hallo Uwe,

danke für die Beispiellösungen.

Die Batchlösung funktioniert einwandfrei.

Bei der Powershell-Lösung erhalte ich folgende Fehlermeldung:

Get-ChildItem : Es wurde kein Parameter gefunden, der dem Parameternamen "Directory" entspricht.
Bei Zeile:6 Zeichen:23

gci $quelle -Directory <<<< | %{

+ CategoryInfo : InvalidArgument: ( [Get-ChildItem], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand

Kann aber den Fehler nicht direkt auflösen. Hast du noch eine Idee?

Danke.

Grüße darebo
Bitte warten ..
Mitglied: colinardo
LÖSUNG 12.07.2018, aktualisiert um 15:48 Uhr
Zitat von darebo:
Bei der Powershell-Lösung erhalte ich folgende Fehlermeldung:
Kann aber den Fehler nicht direkt auflösen. Hast du noch eine Idee?
Ja eindeutig, du verwendest eine bereits sehr veraltete Powershell 2.0, die kennt die Parameter -Directory und -File noch nicht, lässt sich aber leicht für die PS2.0 umschreiben,

Gesamt dann so
01.
#Quellordner 
02.
$quelle = 'D:\quelle' 
03.
# Zielordner 
04.
$ziel = 'D:\ziel' 
05.
# Schleife über die Ordner der Quelle 
06.
gci $quelle | ?{$_.PSIsContainer} | %{ 
07.
    # Zielordner festlegen 
08.
    $target = "$ziel\$($_.Name)" 
09.
    # Zielordner erstellen wenn er noch nicht existiert 
10.
    if(!(test-Path $target)){md $target -Force | out-null} 
11.
    #  Alle Textdateien aus dem Unterordner "\N" in die Zielstruktur kopieren 
12.
    gci "$($_.FullName)\N" -Filter *.txt -Recurse | ?{!$_.PSIsContainer} | copy-item -Destination $target -Verbose 
13.
}
Bitte warten ..
Mitglied: darebo
12.07.2018 um 16:18 Uhr
Powershell Version und deine Variante kann ich erst morgen prüfen.

Danke nochmals.
Bitte warten ..
Mitglied: darebo
13.07.2018 um 10:06 Uhr
Ja es lag an der Powershell Version (2.x).

Daher funktioniert jetzt deine Lösung bestens. Dafür Danke nochmal.

Wenn man noch mehr Dateitypen einschließen möchte, dann kann man die Zeile 12 auch mit folgende Code-Vorschlag ersetzen:

  1. Kopierfunktion mit mehr als nur einem Dateityp Filter
gci "$($_.FullName)\N" -include ('*.txt', '*.rtf') -Recurse | ?{!$_.PSIsContainer} | copy-item -Destination $target -Verbose
Bitte warten ..
Mitglied: colinardo
13.07.2018 um 10:19 Uhr
Rischtisch.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateien eine Ebene höher
Frage von 918103Batch & Shell7 Kommentare

Hallo, habe diese Bat gefunden, aber diese funktioniert nur wenn ich im jeweiligen Ordner bin. for /d %%v in ...

Batch & Shell

Bestimmte Dateien aus Unterordner eine Ebene höher verschieben

gelöst Frage von OOmatrixOOBatch & Shell2 Kommentare

Hallo. Ich habe folgende Ausgangssituation: Hauptordner Ordner x Unterordner x Ordner y Unterordner y usw. Ich möchte nun die ...

Batch & Shell

PowerShell und Get-ChildItem - Dateien eine Ebene höher schieben

gelöst Frage von zerberusBatch & Shell3 Kommentare

Guten Tag, ich habe folgendes Problem welches ich gerne mit PowerShell lösen möchte. In einem Ordner existieren 400 Ordner, ...

Microsoft

Robocopy - unterschiedliche quellen auf ein ziel spiegeln

gelöst Frage von katzmannMicrosoft5 Kommentare

ich möchte mit robocopy folgende erzeugen: mehrere unterschiedliche quellen auf ein ziel spiegeln. Das habe ich schon versucht, aber ...

Neue Wissensbeiträge
Datenschutz

Die Datenkrake Google verlängert ihr Arme mal wieder ein wenig, automatische Anmeldung

Tipp von magicteddy vor 15 StundenDatenschutz2 Kommentare

Benutzer mit einem Google Account und gespeicherten Zugangsdaten werden von chrome 69 automatisch bei Google angemeldet, natürlich alles zum ...

Verschlüsselung & Zertifikate
Meine Wissenssammlung zu Bitlocker
Erfahrungsbericht von DerWoWusste vor 1 TagVerschlüsselung & Zertifikate3 Kommentare

Die Motivation für diesen Beitrag waren die vielen Posts rund um dieses Thema, die deutlich machen, wie viele Einzelaspekte ...

E-Mail
Email-Apps und Verhalten bei Pop3
Erfahrungsbericht von kfranzk vor 3 TagenE-Mail11 Kommentare

Hallo Freunde, da mir mein diesbezüglicher Faden als gelöst markiert wurde, muss ich hier neu aufsetzen. Ich arbeite bewusst ...

Hyper-V

Optimiertes Ubuntu per Microsoft Hyper-V-Schnellerstellung verfügbar

Anleitung von Frank vor 3 TagenHyper-V1 Kommentar

Für Microsofts Virtualisierungssoftware Hyper-V ist ab sofort auch ein optimiertes Ubuntu 18.04.1 LTS verfügbar. In der "Hyper-V-Schnellerstellung" App, die ...

Heiß diskutierte Inhalte
Hardware
Sophos SG135 - Routing
gelöst Frage von Xaero1982Hardware22 Kommentare

Moin Zusammen, ich ersetze gerade nen alten Cisco DualWAN Router durch eine SG 135. Ich muss bestimmte Ziele über ...

E-Mail
Welche ist die beste E-Mail Groupware für die Zukunft?
Frage von ITCrowdSupporterE-Mail18 Kommentare

Guten Tag allerseits :) Ich möchte mich mit einer Frage heute mal an die Schwarmintelligenz wenden. Aktuell befasse ich ...

Netzwerke
Hilfe bei der Planung meines Heimnetzwerks
Frage von DHD082Netzwerke15 Kommentare

Hallo zusammen, wir bauen gerade ein Einfamilienhaus, welches ich mit einem Heimnetzwerk ausstatten möchte. Da ich zwar auch in ...

Windows 7
Mit gpedit gesetzte Richtlinien in rsop.msc nicht definiert und ausgegraut
gelöst Frage von 137006Windows 715 Kommentare

Hallo zusammen, anfangs verweise ich fairerweise daruf dass ich dieses Thema bereits im Forum angeschnitten habe, nachdem ich hier ...