Перезаписать файл на удаленном сервере с помощью psftp, если он существует только
Я новичок с командной строкой и загрузкой из командной строки PSFTP, я привык к FileZilla, но на данный момент я загружаю некоторые файлы с расширением (.js
, .php
, .txt
) на мой удаленный сервер через командную строку PSFTP.
Я обнаружил, что PSFTP автоматически перезаписывает файл, ничего не спрашивая.
Теперь мой вопрос: так же, как @Override
команда в Java, где компилятор выдает ошибку, если метод, который вы пытаетесь переопределить, не входит в суперкласс, есть ли ключевое слово для этого тоже в PSFTP, потому что я хотел переопределить файл, и если он не существует Я хочу отменить загрузку.
1 ответ
Там нет такой команды / ключевое слово в psftp
,
Но вы можете добиться этого с WinSCP, используя его stat
командование Используйте следующий пакетный файл:
@echo off
winscp.com /command ^
"open sftp://user:pass@example.com/" ^
"stat /home/user/file.txt" ^
"put c:\file.txt /home/user/file.txt" ^
"exit"
По умолчанию WinSCP прерывает выполнение сценария, если какая-либо команда не выполнена. stat
Команда возвращает атрибуты удаленного файла. Если file.txt
не существует, stat
команды терпят неудачу, и put
никогда не бывает
Узнайте больше о сценариях с WinSCP:
https://winscp.net/eng/docs/guide_automation
(Я автор WinSCP)