Post a reply

Options
Add an Attachment

If you do not want to add an Attachment to your Post, please leave the Fields blank.

(maximum 10 MB; please compress large files; only common media, archive, text and programming file formats are allowed)

Options

Topic review

JanneFiH

Re: Synchronize remote with local and exclude subdirectories

martin wrote:

OK, there's one more missing quote, and the * should not be there:
"synchronize remote -delete -nopermissions -transfer=binary -filemask=""|*/""" ^


Oh my, Mr Hawkeye himself to notice that! It work's really great now! As always, huge thanks for your help, Martin!
martin

Re: Synchronize remote with local and exclude subdirectories

OK, there's one more missing quote, and the * should not be there:
"synchronize remote -delete -nopermissions -transfer=binary -filemask=""|*/""" ^
JanneFiH

Re: Synchronize remote with local and exclude subdirectories

martin wrote:

You are missing some quotes.

Here:
"lcd C:\A\" ^
And here:
"synchronize remote -delete -nopermissions -transfer=binary -filemask=""|*/"" * ^
See https://winscp.net/eng/docs/commandline#syntax

Also make sure that the ^'s are the very last characters on their respective lines (there cannot be any space after them).
See https://winscp.net/eng/docs/faq_batch_file

@echo off


"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
  /log="F:\skrivbord\log\WinUPP.log" /ini=nul ^
  /command ^
    "open ftp://USER:PASSWORD@IP:PORT/ -passive=0" ^
    "cd /DIR/A/" ^
    "lcd C:\A\" ^
    "synchronize remote -delete -nopermissions -transfer=binary -filemask=""|*/"" * ^
    "exit"

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

exit /b %WINSCP_RESULT%




Thank you for your corrections, Martin!

Now I at least receive an error log. It's written in my native language.

. 2017-10-27 06:09:47.106 Asking user:
. 2017-10-27 06:09:47.106 Fel uppstod när listning av katalog '*'. ("Fel vid hämtning av fillista för ""*\*.*"".","Systemfel. Kod: 123.","Felaktig syntax för filnamn, katalognamn eller volymetikett")
< 2017-10-27 06:09:47.106 Script: Fel uppstod när listning av katalog '*'.
< 2017-10-27 06:09:47.106 Script: Fel vid hämtning av fillista för "*\*.*".

< 2017-10-27 06:09:47.106 Systemfel. Kod: 123.

< 2017-10-27 06:09:47.106 Felaktig syntax för filnamn, katalognamn eller volymetikett
< 2017-10-27 06:09:47.107 Script: Fel uppstod när listning av katalog '*'.
< 2017-10-27 06:09:47.107 Fel vid hämtning av fillista för "*\*.*".

< 2017-10-27 06:09:47.107 Systemfel. Kod: 123.

< 2017-10-27 06:09:47.107 Felaktig syntax för filnamn, katalognamn eller volymetikett
. 2017-10-27 06:09:47.107 Script: Failed
. 2017-10-27 06:09:47.107 Script: Exit code: 1
. 2017-10-27 06:09:47.107 Kopplar ifrån server


Error code 123. It isn't able to fetch file list for "*\*.*"
Please tell me if you would like further translation to be able to see the problem.
martin

Re: Synchronize remote with local and exclude subdirectories

You are missing some quotes.

Here:
"lcd C:\A\" ^
And here:
"synchronize remote -delete -nopermissions -transfer=binary -filemask=""|*/"" * ^
See https://winscp.net/eng/docs/commandline#syntax

Also make sure that the ^'s are the very last characters on their respective lines (there cannot be any space after them).
See https://winscp.net/eng/docs/faq_batch_file

@echo off


"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
  /log="F:\skrivbord\log\WinUPP.log" /ini=nul ^
  /command ^
    "open ftp://USER:PASSWORD@IP:PORT/ -passive=0" ^
    "cd /DIR/A/" ^
    "lcd C:\A\" ^
    "synchronize remote -delete -nopermissions -transfer=binary -filemask=""|*/"" * ^
    "exit"

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

exit /b %WINSCP_RESULT%
Guest

Re: Synchronize remote with local and exclude subdirectories

martin wrote:

You are missing any call to WinSCP:

winscp.com /command ^

    "open ftp://USER:PASSWORD@IP:PORT/ -passive=0" ^
...


See https://winscp.net/eng/docs/guide_automation


I'm sorry. I censored myself when writing the topic.



@echo off


"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
  /log="F:\skrivbord\log\WinUPP.log" /ini=nul ^
  /command ^
    "open ftp://USER:PASSWORD@IP:PORT/ -passive=0" ^
    "cd /DIR/A/" ^
    "lcd C:\A\ ^
    "synchronize remote -delete -nopermissions -transfer=binary -filemask="|*/" * ^
    "exit"

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

exit /b %WINSCP_RESULT%
martin

Re: Synchronize remote with local and exclude subdirectories

You are missing any call to WinSCP:

winscp.com /command ^

    "open ftp://USER:PASSWORD@IP:PORT/ -passive=0" ^
...


See https://winscp.net/eng/docs/guide_automation
JanneFiH

Synchronize remote with local and exclude subdirectories

I've this directory locally that I'ld like to synchronize with a remote server.(I want my remote server to look like the local dir)

/DIR
-> /A
-> /B
-> /C

I would like to exclude subdirectories within A, B C from being synchronized.
I also have some files in /DIR that I also would like to be excluded from being synchronized. Just files in /A/, /B/ and /C/. I don't want to accidentally delete files or folders on either local or remote.

I don't get the .bat-file to start. Can anyone please check what I'm doing wrong? It doesn't post to the log file.

    "open ftp://USER:PASSWORD@IP:PORT/ -passive=0" ^

    "cd /DIR/A/" ^
    "lcd C:\A\ ^
    "synchronize remote -delete -nopermissions -transfer=binary -filemask="|*/" * ^
    "exit"

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

exit /b %WINSCP_RESULT%


Thanks in advance!