2017-06-02 2 views
-1

Ich habe ein PowerShell-Skript gefunden, die 'n' Anzahl der Dateien von 'D: \ source' in 'E: \ Dest' Verzeichnis verschieben kann. Es nimmt die erste 'n' Anzahl von Dateien im Quellordner und verschiebt sie in den angegebenen Unterordner. Es kann Ordner erstellen, solange sie benötigt werden.Verschieben Sie "n" -Dateien in separaten Ordner mit PowerShell

Code:

$filesperfolder = 150 
$sourcePath = "D:\source" 
$destPath = "E:\Dest" 
$i = 0; 
$folderNum = 1; 


Get-ChildItem "$sourcePath\*.jpg" | % { 

    New-Item -Path ($destPath + "\" + $folderNum) -Type Directory -Force 
    Move-Item $_ ($destPath + "\" + $folderNum); 

    $i++; 

    if ($i -eq $filesperfolder){ 
     $folderNum++; 
     $i = 0 ; 
    } 
} 

Bisher dieses Skript funktioniert gut, aber wie kann ich sein Arbeitsverzeichnis festgelegt. Ich meine, wenn sich das Skript im Ordner "C: \ test" befindet, sollte es diesen aktuellen Ordner nach "* .jpg" -Dateien durchsuchen und Ordner in demselben Verzeichnis erstellen.

+0

Sorry, aber SO ist kein Skript-Dienst. Wir sind Freiwillige hier, um Programmierern und Programmierbegeisterten zu helfen. Ich schlage vor, dass Sie Ihre Anforderungen in Einzelteile zerlegen und auf diese Weise testen. Wenn Sie bei einem bestimmten Problem stecken bleiben und [mvce] auf dem, was Sie getan haben, und wir werden Ihnen gerne helfen. – Matt

+0

Tut mir leid, dass ich eine solche Frage gestellt habe. Ich dachte, es wäre hilfreich für andere zu verstehen. – ScareCrow

+0

Sie bitten andere, Ihr Skript zu erstellen, ohne zuerst selbst zu versuchen ... – Manu

Antwort

0

Während es von C: \ Test aus funktionieren kann, stellen Sie anderen Standorten immer noch vollständige Adressen zur Verfügung, so lange es Zugriff und Berechtigung für diese Dateien in D: \ Source und E: \ Dest hat Berühre alles, was mit C: \ Test zu tun hat, außer dass es von diesem Ort aus ausgeführt wird. Was ist deine Absicht? Du hast uns nicht um Hilfe gebeten.

Wenn Sie das Arbeitsverzeichnis festlegen möchten Sie diese verwenden würden:

Set-Location "D:\SourceFiles" 

Auf diese Weise, unabhängig davon, wo Sie begonnen haben Ihr Skript aus, wäre es aus ‚D: \ Quelldateien‘ funktioniert.

Verwandte Themen