none
Kopieren von Datei in Ordner + Unterordner RRS feed

  • Frage

  • Hallo zusammen,

     

    ich habe eine Frage zu dem Copy Befehl innerhalb der PowerShell:

    Ist es möglich, dem Copy-File Befehl bei Destination nicht nur einen spezifischen Ordner, sondern

    ein Verzeichnis anzugeben, sodass er die zu kopierende Datei in Ordner + Unterordner kopiert?

    Ich weiss, dass man rekursiv alle Dateien, die in einem Verzeichnis existieren in ein anderes kopieren kann,

    aber geht das auch umgekehrt? Sprich eine Datei von einem Ordner in komplett alle Unterordner der angegebenen Destination?

     

    Ich hab nicht wirklich viel mit Scripting am Hut, das ist der Teil, den ich bisher zusammen geschustert habe (ich weiss leider nicht, wie sinnvoll das ist)

     

    $CopyItem = 'index.php'
    $CopyItemPath = 'C:\Test\'
    $DestinationPath = 'C:\Test\NewDir'
    $OrdnerEbene = get-Childitem $DestinationPath | where {$_.PSIsContainer}

    foreach ($Ordner in $OrdnerEbene){

        copy-item $CopyItemPath $CopyItem -destination $Ordner

    }

     

    Vielen Dank bereits für die Unterstützung!

    Zuckerfry


    Mittwoch, 10. August 2011 08:41

Antworten

  • Du hast es im Prinzip ja schon selbst geschafft, du musst nur den Pfad bei copy-item noch zusammenfügen und -wenn du in alle Verzeichnisse des Pfades kopieren willst- das Zielverzeichnis rekursiv durchsuchen:

    $OrdnerEbene = get-Childitem $DestinationPath -recurse | where {$_.PSIsContainer}
    
    foreach ($Ordner in $OrdnerEbene){
    
      copy-item "$CopyItemPath$CopyItem" -destination $Ordner -whatif
    
    }
    


    "-whatif" hinter dem Kopierbefehl dient als Sicherheitsschalter, kannst du rauslöschen wenn alles so ist wie du möchtest.

    Und beim nächsten Mal schreib doch auch bitte dazu was genau nicht funktioniert (ggfl mitt Fehlermeldung), macht es für uns einfacher.

    Grüße, Denniver


    Blog: http://bytecookie.wordpress.com

    Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".
    • Als Antwort markiert Zuckerfry Mittwoch, 10. August 2011 13:08
    Mittwoch, 10. August 2011 12:55
    Moderator

Alle Antworten

  • Du hast es im Prinzip ja schon selbst geschafft, du musst nur den Pfad bei copy-item noch zusammenfügen und -wenn du in alle Verzeichnisse des Pfades kopieren willst- das Zielverzeichnis rekursiv durchsuchen:

    $OrdnerEbene = get-Childitem $DestinationPath -recurse | where {$_.PSIsContainer}
    
    foreach ($Ordner in $OrdnerEbene){
    
      copy-item "$CopyItemPath$CopyItem" -destination $Ordner -whatif
    
    }
    


    "-whatif" hinter dem Kopierbefehl dient als Sicherheitsschalter, kannst du rauslöschen wenn alles so ist wie du möchtest.

    Und beim nächsten Mal schreib doch auch bitte dazu was genau nicht funktioniert (ggfl mitt Fehlermeldung), macht es für uns einfacher.

    Grüße, Denniver


    Blog: http://bytecookie.wordpress.com

    Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".
    • Als Antwort markiert Zuckerfry Mittwoch, 10. August 2011 13:08
    Mittwoch, 10. August 2011 12:55
    Moderator
  • Danke für die Hilfe, läuft nun einwandfrei :)
    Mittwoch, 10. August 2011 13:08