Логика IF/ELSE в сценарии WinSCP

У меня есть простой сценарий для выполнения некоторых операций обслуживания на удаленном хосте Unix SFTP, но я хотел бы выполнять все операции, только если некоторые файлы существуют на сервере Windows. Вот пример простого кода, который я использую, и мне было интересно, поддерживает ли WinSCP команду Windows «если существует»:

option batch abort
option confirm off
open sftp://[email protected] -hostkey="xxxxxx" - privatekey=\\location

delete file.txt

rename file1.txt

put file0.txt file.txt

etc...

exit

Было бы неплохо сделать все вышеперечисленное, если бы я мог сделать что-то вроде этого:

if exist (\\windows server\filename.txt
    .....
)

Должен отметить, что выполнение выполняется с использованием WinSCP.com.


person user3235631    schedule 17.10.2014    source источник
comment
Можете ли вы использовать реальный пакетный файл для вызова файла сценария winscp? Определенно существует командная команда для проверки существования файла.   -  person Ian    schedule 18.10.2014


Ответы (1)


Как предложил @Ian в комментариях, для этого вам не нужна логика if-then в сценарии WinSCP. Просто используйте команду if в пакетном файле-оболочке, например:

@echo off
if exist \\windows_server\filename.txt winscp.com /script=script.txt

Если вам действительно нужно использовать логику if-then в коде WinSCP, см. статью WinSCP Условная обработка в автоматизации.

Дальнейшее чтение:

person Martin Prikryl    schedule 18.10.2014