Отказ от ответственности: у меня нулевое понимание Powershell. Сначала я собирался сделать это на Java, затем решил вместо этого выполнить запланированное задание (Выполнение скрипта PoSh.)
Вот что у меня есть:
$ArmA2OA = Get-Process ArmA2OA - ErrorAction SilentlyContinue
$ChkFile = "C:\Users\Mark27\AppData\Local\ArmA 2 OA\ArmA2OA.rpt"
$FileExists = Test-Path $ChkFile
$currentDate = get-date -uformat "%Y-%m-%d@%H-%M-%S"
if(-Not($ArmA2OA)){
if($FileExists){
move-item "C:\Users\Mark27\AppData\Local\ArmA 2 OA\ArmA2OA.rpt" ("C:\Users\Mark27\Desktop\A2OA\{0:yyyyMMdd}.rpt" -f (get-date))
}
else{break}
}
else{break}
Что он должен делать: если процесс A2OA.exe
не запущен, проверьте, существует ли файл ArmA2OA.rpt
в каталоге C:\Users\Mark27\AppData\Local\ArmA 2 OA\
. Если это так, скопируйте и переименуйте файл, используя текущую временную метку, и отправьте его в C:\Users\Mark27\Desktop\A2OA
Если файл не существует или процесс запущен, прервать.
Я прошел через ряд вопросов, подобных этому, но не нашел своего решения. Каталог и имя файла, который я ищу, всегда будут одинаковыми. (Этот сценарий будет запускаться каждые 10-15 минут.)