mrusklon
@mrusklon
если долго мучится - что нибудь получится

Как узнать существует папка и в зависимости от результата сделать действие?

есть у меня скрипт синхронизации winscp который работает из bat файла
@echo off
del %APPDATA%\WinSCP\WinSCP.log

SET userfolder=foldername
SET server=/home/userfolder

"%APPDATA%\WinSCP\WinSCP.com" ^
  /log="%APPDATA%\WinSCP\WinSCP.log" /ini=nul ^
  /command ^
    "open sftp://user:pass@servername/ -hostkey=*" ^
	"cd %server%"^
	"mkdir %userfolder%"^
	"synchronize remote %APPDATA%\ViberPC %server%/%userfolder%/" ^
    "exit"

set WINSCP_RESULT=%ERRORLEVEL%
if %WINSCP_RESULT% equ 0 (
  echo Success
) else (
  echo Error
)

exit /b %WINSCP_RESULT%


собственно если папка foldername существует то mkdir дает ошибку и весь скрипт прерывается , как проверить на существование папки и если она есть , продолжить работу скрипта дальше?
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
Lynn
@Lynn
nginx, js, css
https://winscp.net/forum/viewtopic.php?t=15867&sid...


You can set option batch continue before mkdir to ignore any errors and restore the option batch abort after.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Moskus
@Moskus
Практически дословно - первый же случай синтаксиса https://ss64.com/nt/if.html
Ответ написан
test ! -d /var/backup/mysql/`date +%Y` && { mkdir -p /var/backup/mysql/`date +%Y` ; }

или
FILE=/etc/resolv.conf
if [[ -f "$FILE" ]]; then
    echo "$FILE exist"
fi
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы