Hello!
I was able to work up this little PowerShell script in ChatGPT. My knowledge in PowerShell is very limited. Basically this is a small utility that watches a folder for new images. When the image shows up, the script calls on AutoHotKey to run some image processing through a desktop app. When the image is processed, it is supposed to move the image to the ‘Processed’ folder. For my life of me I cannot get the file move function to work. Everything else in the code seems to work, just not the move.
Any ideas?
$folder = 'C:\Users\***********\MJbotWatcher'
$filter = '*.png'
# Processed directory path
$processedPath = "C:\Users\*********\Processed"
# Check if Processed directory exists, if not, create it
if (-not (Test-Path $processedPath)) {
New-Item -ItemType Directory -Path $processedPath
}
$watcher = New-Object IO.FileSystemWatcher $folder, $filter -Property @{
IncludeSubdirectories = $false
NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'
}
$action = {
$path = $Event.SourceEventArgs.FullPath
Write-Host "Starting the action for file: $path"
Write-Host "File '$path' was added!"
Add-Content -Path "C:\Users\*****************\queue.txt" -Value $path
# Call the AHK script and pass the image's path as an argument
#Start-Process -FilePath "C:\Users\**************\Automation.ahk" -ArgumentList $path # Ensure you provide the correct path to the AHK script here
#Start-Sleep -Seconds 10 # Adjust this based on how long it typically takes
# Try moving the file with retries
$retries = 3
$errorOccurred = $false
while ($retries -gt 0) {
try {
move $path $processedPath -Force
$retries = 0 # Successfully moved the file
} catch {
# An error occurred, so wait and retry
Start-Sleep -Seconds 5
$retries--
if ($retries -eq 0) {
Write-Host "Failed to move file after multiple attempts."
}
}
}
if (-not $errorOccurred) {
Write-Host "File $path moved to $processedPath"
}
Write-Host "File $path moved to $processedPath"
}
$created = Register-ObjectEvent $watcher Created -Action $action
while ($true) { sleep 5 }