Ich versuche, einen Ordner durchzulaufen, den Dateinamen jeder Datei in dem Ordner abzurufen und diesen Dateinamen dann einer Variablen zuzuweisen. Ich würde dann diese Variable später in einer Hash-Tabelle verwenden. Dies ist, wo ich das Problem habe und halte diese Fehler empfangen:Powershell - Fehlender Attributfehler beim Zuweisen von Dateinamen zu einer Variablen mit einem für jede Schleife
At C:\Users\jnwankwo\Documents\IUR.ps1:19 char:16
+ Files.Add(fName, Counter)
+ ~
Missing argument in parameter list.
Hier ist der Code:
$folder = 'C:\Users\jnwankwo\Documents\IUR Test\r' # Enter the root path you want to monitor.
$Failedfolder = 'C:\Users\jnwankwo\Documents\IUR Test\r'
$filter = '*.*' # You can enter a wildcard filter here.
$Files = @{}
$Counter = 1
# In the following line, you can change 'IncludeSubdirectories to $true if required.
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{IncludeSubdirectories = $false;NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'}
Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action {
ForEach ($file in folder) {
$fName = file.Name
if (Files.ContainsKey(fName) = false)
{
Files.Add(fName, Counter)
}
if ((Files.ContainsKey(fName) = true) -and (Files.Item(fName) -lt 3))
{
Move-Item C:\Users\jnwankwo\Documents\IUR Test\r\*.txt C:\Users\jnwankwo\Documents\IUR Test -force
Files.Set_Item(fName, Counter++)
}
ElseIf ((Files.ContainsKey(fName) = true) -and (Files.Item(fName) == 3))
{
Files.Remove(fName)
Move-Item C:\Users\jnwankwo\Documents\IUR Test\r\*.txt Failedfolder -force
}
}
}
Kann jemand bitte helfen?
Hallo, habe ich versucht, diese und ich bekomme jetzt diesen Fehler: Fehlender Ausdruck nach ‚‘ – Hitmand
ich meine Antwort aktualisiert –