Powershell Script überwacht Ordner und kopiert wenn dieser Leer ist Dateien hinein
Hi
Ich habe folgendes Problem Anzahl bestimmter Dateien per Batch verschieben nun mit einem Powershell Script gelöst.
Zur verwendung dieses Scripts:
Ich habe einen Ordern in den Files zum importieren liegen. Leider habe ich 90000 Files die importiert werden sollen.
Durch die hohe Anzahl von Files benötigt der importer um die 10 Minuten um 1 File zu importieren.
Daher hier erst eine Abfrage wieviel Dateien im Ordner liegen.
Wenn dies 0 ist dann holt er sich die komplette Anzahl an Dateien und Selektiert dann soviel Files wie in der Variable angegeben.
Danach kopiert er diese Files in den Zielordner.
Die ausführung habe ich jetzt über die scheduled tasks gemacht.
Will am Montag noch einen Timer einbauen hatte jetzt aber kein bock mehr zu
Gruß
Sirbubu
Ich habe folgendes Problem Anzahl bestimmter Dateien per Batch verschieben nun mit einem Powershell Script gelöst.
Zur verwendung dieses Scripts:
Ich habe einen Ordern in den Files zum importieren liegen. Leider habe ich 90000 Files die importiert werden sollen.
Durch die hohe Anzahl von Files benötigt der importer um die 10 Minuten um 1 File zu importieren.
Daher hier erst eine Abfrage wieviel Dateien im Ordner liegen.
Wenn dies 0 ist dann holt er sich die komplette Anzahl an Dateien und Selektiert dann soviel Files wie in der Variable angegeben.
Danach kopiert er diese Files in den Zielordner.
Die ausführung habe ich jetzt über die scheduled tasks gemacht.
Will am Montag noch einen Timer einbauen hatte jetzt aber kein bock mehr zu
$destinationpath = "C:\ZielOrdner"
$sourcepath = "C:\SourceOrdner"
$NoFiles = "2"
$T = (Get-ChildItem $destinationpath).count
if ($T -eq $null)
{
$files= Get-ChildItem -name $sourcepath | select -First $NoFiles
$files
foreach ($File in $Files){copy-item ($sourcepath+$File) $destinationpath}
}
else
{exit}
Sirbubu
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 155424
Url: https://administrator.de/contentid/155424
Ausgedruckt am: 22.11.2024 um 19:11 Uhr
1 Kommentar
Hallo Sirbubu,
habe mir erlaubt in dein script einen foulder check mit einzubauen.
gruß michael
habe mir erlaubt in dein script einen foulder check mit einzubauen.
# **************************************************************
# foulder-check
#
# einmal auf der powershell ausgeführt werden
# "Set-ExecutionPolicy Unrestricted"
# **************************************************************
#
# **************************************************************
# * Angepasst M.N. - POWERSHELL / Entwicklung 19.11.2010 *
# *
# **************************************************************
$ErrorActionPreference = 'SilentlyContinue'
$destinationpath = "C:\Temp\11"
$sourcepath = "C:\Temp"
$NoFiles = "2"
$fsw = New-Object System.IO.FileSystemWatcher
$T = (Get-ChildItem $destinationpath).count
$fsw.Path = $sourcepath
$result = $fsw.WaitForChanged("All")
$result
if ($T -eq $null) {
$files= Get-ChildItem -name $sourcepath | select -First $NoFiles
$files
foreach ($File in $Files) {
copy-item '$sourcepath\$File' '$destinationpath'
}
}
gruß michael