Friday, September 4, 2026

.::: Bat Script sftp windows to Server Linux with Scheduler & password :::.

  

 
1. Just sftp
 

 @echo off
setlocal

set SFTP_SERVER=10.10.10.90
set SFTP_USER=ftpaccess
set SFTP_PASSWORD=xxx

set REMOTE_DIR=/media/backup
set LOCAL_DIR=D:\temp

set SFTP_SCRIPT=D:\other\windows\sftpbat\sftp_download.txt

echo ========================================
echo SFTP DOWNLOAD ALL FILES
echo ========================================
echo Remote : %REMOTE_DIR%
echo Server : %SFTP_SERVER%
echo Local  : %LOCAL_DIR%
echo ========================================

if not exist "%LOCAL_DIR%" (
    mkdir "%LOCAL_DIR%"
)
 
(
echo cd %REMOTE_DIR%
echo lcd %LOCAL_DIR%
echo mget *
echo bye
) > "%SFTP_SCRIPT%"

"D:\software\psftp.exe" ^
    -batch ^
    -pw "%SFTP_PASSWORD%" ^
    %SFTP_USER%@%SFTP_SERVER% ^
    -b "%SFTP_SCRIPT%"

if %ERRORLEVEL% EQU 0 (
    echo.
    echo SFTP DOWNLOAD SUCCESS
) else (
    echo.
    echo SFTP DOWNLOAD FAILED
    exit /b 1
)

echo.
echo File hasil:
dir "%LOCAL_DIR%"

echo.
echo Selesai.

2. just sftp but adjusment date in server
 

 @echo off
setlocal

set SFTP_SERVER=10.10.10.90
set SFTP_USER=ftpaccess
set SFTP_PASSWORD=xxx

set BASE_REMOTE_DIR=/media/backup
set LOCAL_DIR=D:\temp

set SFTP_SCRIPT=D:\other\windows\sftpbat\sftp_download.txt

REM ========================================
REM GET DATE YYYYMMDD
REM ========================================

for /f "tokens=2 delims= " %%a in ("%date%") do set TODAY=%%a

for /f "tokens=1-3 delims=/" %%a in ("%TODAY%") do (
    set MM=%%a
    set DD=%%b
    set YYYY=%%c
)

set REMOTE_DIR=/media/backup/%YYYY%%MM%%DD%

echo ========================================
echo SFTP DOWNLOAD ALL FILES
echo ========================================
echo Date   : %YYYY%%MM%%DD%
echo Remote : %REMOTE_DIR%
echo Server : %SFTP_SERVER%
echo Local  : %LOCAL_DIR%
echo ========================================

if not exist "%LOCAL_DIR%" (
    mkdir "%LOCAL_DIR%"
)

(
echo cd %REMOTE_DIR%
echo lcd %LOCAL_DIR%
echo mget *
echo bye
) > "%SFTP_SCRIPT%"

echo.
echo SFTP command:
type "%SFTP_SCRIPT%"
echo.

"D:\software\psftp.exe" ^
    -batch ^
    -pw "%SFTP_PASSWORD%" ^
    %SFTP_USER%@%SFTP_SERVER% ^
    -b "%SFTP_SCRIPT%"

if %ERRORLEVEL% EQU 0 (
    echo.
    echo SFTP DOWNLOAD SUCCESS
) else (
    echo.
    echo SFTP DOWNLOAD FAILED
    exit /b 1
)

echo.
echo File hasil:
dir "%LOCAL_DIR%"

echo.
echo Selesai.

3. sftp with date yyyymmdd
 
 @echo off
setlocal

set SFTP_SERVER=10.10.10.90
set SFTP_USER=ftpaccess
set SFTP_PASSWORD=xxx

set BASE_REMOTE_DIR=/media/backup
set BASE_LOCAL_DIR=D:\temp

set SFTP_SCRIPT=D:\other\windows\sftpbat\sftp_download.txt

REM ========================================
REM GET DATE YYYYMMDD
REM ========================================

for /f "tokens=2 delims= " %%a in ("%date%") do set TODAY=%%a

for /f "tokens=1-3 delims=/" %%a in ("%TODAY%") do (
    set MM=%%a
    set DD=%%b
    set YYYY=%%c
)

REM ========================================
REM REMOTE & LOCAL DIRECTORY
REM ========================================

set DATE_FOLDER=%YYYY%%MM%%DD%

set REMOTE_DIR=%BASE_REMOTE_DIR%/%DATE_FOLDER%
set LOCAL_DIR=%BASE_LOCAL_DIR%\%DATE_FOLDER%

echo ========================================
echo SFTP DOWNLOAD ALL FILES
echo ========================================
echo Date   : %DATE_FOLDER%
echo Remote : %REMOTE_DIR%
echo Server : %SFTP_SERVER%
echo Local  : %LOCAL_DIR%
echo ========================================

REM ========================================
REM CREATE LOCAL DIRECTORY
REM ========================================

if not exist "%LOCAL_DIR%" (
    mkdir "%LOCAL_DIR%"
)

REM ========================================
REM CREATE SFTP SCRIPT
REM ========================================

(
echo cd %REMOTE_DIR%
echo lcd %LOCAL_DIR%
echo mget *
echo bye
) > "%SFTP_SCRIPT%"

echo.
echo SFTP command:
type "%SFTP_SCRIPT%"
echo.

REM ========================================
REM RUN SFTP
REM ========================================

"D:\software\psftp.exe" ^
    -batch ^
    -pw "%SFTP_PASSWORD%" ^
    %SFTP_USER%@%SFTP_SERVER% ^
    -b "%SFTP_SCRIPT%"

if %ERRORLEVEL% EQU 0 (
    echo.
    echo SFTP DOWNLOAD SUCCESS
) else (
    echo.
    echo SFTP DOWNLOAD FAILED
    exit /b 1
)

echo.
echo File hasil:
dir "%LOCAL_DIR%"

echo.
echo Selesai.

4. sftp with yyyy/mm/dd
 
 @echo off
setlocal

REM ========================================
REM SFTP DOWNLOAD CONFIGURATION
REM ========================================

set SFTP_SERVER=10.10.10.90
set SFTP_USER=ftpaccess
set SFTP_PASSWORD=xxx

set BASE_REMOTE_DIR=/media/backup
set BASE_LOCAL_DIR=D:\temp

set SFTP_SCRIPT=D:\other\windows\sftpbat\sftp_download.txt


REM ========================================
REM GET DATE
REM FORMAT:
REM YYYY / MM / DD
REM ========================================

for /f %%A in ('powershell -NoProfile -Command "Get-Date -Format yyyy"') do set YYYY=%%A
for /f %%A in ('powershell -NoProfile -Command "Get-Date -Format MM"') do set MM=%%A
for /f %%A in ('powershell -NoProfile -Command "Get-Date -Format dd"') do set DD=%%A


REM ========================================
REM REMOTE & LOCAL DIRECTORY
REM ========================================

set DATE_FOLDER=%YYYY%/%MM%/%DD%

set REMOTE_DIR=%BASE_REMOTE_DIR%/%YYYY%/%MM%/%DD%
set LOCAL_DIR=%BASE_LOCAL_DIR%\%YYYY%\%MM%\%DD%


REM ========================================
REM DISPLAY INFORMATION
REM ========================================

echo ========================================
echo       SFTP DOWNLOAD ALL FILES
echo ========================================
echo Date   : %YYYY%-%MM%-%DD%
echo Remote : %REMOTE_DIR%
echo Server : %SFTP_SERVER%
echo Local  : %LOCAL_DIR%
echo ========================================


REM ========================================
REM CREATE LOCAL DIRECTORY
REM ========================================

if not exist "%LOCAL_DIR%" (
    echo.
    echo Creating local directory...
    mkdir "%LOCAL_DIR%"
)


REM ========================================
REM CREATE SFTP SCRIPT
REM ========================================

(
echo cd %REMOTE_DIR%
echo lcd %LOCAL_DIR%
echo mget *
echo bye
) > "%SFTP_SCRIPT%"


REM ========================================
REM DISPLAY SFTP COMMAND
REM ========================================

echo.
echo SFTP command:
echo ----------------------------------------
type "%SFTP_SCRIPT%"
echo ----------------------------------------
echo.


REM ========================================
REM RUN SFTP
REM ========================================

echo Connecting to SFTP server...
echo.

"D:\software\psftp.exe" ^
    -batch ^
    -pw "%SFTP_PASSWORD%" ^
    %SFTP_USER%@%SFTP_SERVER% ^
    -b "%SFTP_SCRIPT%"


set SFTP_RESULT=%ERRORLEVEL%


REM ========================================
REM CHECK RESULT
REM ========================================

if %SFTP_RESULT% EQU 0 (
    echo.
    echo ========================================
    echo       SFTP DOWNLOAD SUCCESS
    echo ========================================
) else (
    echo.
    echo ========================================
    echo       SFTP DOWNLOAD FAILED
    echo ========================================
    echo ERRORLEVEL : %SFTP_RESULT%
    echo.
    exit /b 1
)


REM ========================================
REM SHOW DOWNLOADED FILES
REM ========================================

echo.
echo File hasil:
echo ----------------------------------------

dir "%LOCAL_DIR%"

echo ----------------------------------------
echo.
echo Selesai.

endlocal
 

No comments:

Post a Comment

Popular Posts