У меня есть сканер EPSON Perfection V370 Photo, и я пытаюсь автоматически сканировать его несколько раз в день в течение месяца (скажем, раз в час или около того, я хочу контролировать время) и автоматически сохранять сканирование как TIFF или JPEG с их именем, включая точное время сканирования.

У меня нет опыта в создании файла сценария, поэтому, если вы сможете объяснить все это и показать мне используемый файл, это будет очень цениться.

До сих пор я использовал Powershell, но не могу указать точное имя файла:

$deviceManager = new-object -ComObject WIA.DeviceManager
$device = $deviceManager.DeviceInfos.Item(1).Connect()

$imageProcess = new-object -ComObject WIA.ImageProcess

$wiaFormatBMP  = "{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}"
$wiaFormatPNG  = "{B96B3CAF-0728-11D3-9D7B-0000F81EF32E}"
$wiaFormatGIF  = "{B96B3CB0-0728-11D3-9D7B-0000F81EF32E}"
$wiaFormatJPEG = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}"
$wiaFormatTIFF = "{B96B3CB1-0728-11D3-9D7B-0000F81EF32E}"

foreach ($item in $device.Items) {
    $image = $item.Transfer() 
}

$imageProcess.Filters.Add($imageProcess.FilterInfos.Item("Convert").FilterID)
$imageProcess.Filters.Item(1).Properties.Item("FormatID").Value = $wiaFormatJPEG
$imageProcess.Filters.Item(1).Properties.Item("Quality").Value = 5
$image = $imageProcess.Apply($image)

$filename = "$([Environment]::GetFolderPath("Desktop"))\Scan {0}.jpg"

$index = 0
while (test-path ($filename -f $index)) {[void](++$index)}
$filename = $filename -f $index


$image.SaveFile($filename)


& $filename

0