Differences

This shows you the differences between the selected revisions of the page.

script_commands 2008-04-10 script_commands (current)
Line 1: Line 1:
-====== Script Commands ====== 
-In its [[scripting|scripting]] functionality, WinSCP supports following commmands. 
- 
-You can see the very same help for the commands as shown here, if you type command ''[[script_commands#help|help <command>]]'' directly in console. 
- 
-You can use environment variables in the path, with syntax %NAME%. 
- 
-===== call ===== 
-With [[protocols|SFTP and SCP protocols]], executes arbitrary [[remote_command|remote shell command]]. 
-With FTP protocol, executes a protocol command. 
- 
-  call <command> 
- 
-If current session does not allow execution of arbitrary remote command separate [[shell session]] will be automatically opened. 
- 
-The command must not require user input. 
- 
-Alias: ''!'' 
- 
-Examples: 
-<code winscp> 
-call mysqldump --opt -u USERNAME --password=PASSWORD --all-databases > all_databases.sql 
-call gzip -c all_databases.sql > all_databases.gz 
-</code> 
- 
-===== cd ===== 
-Changes remote working directory for active session. 
- 
-  cd [ <directory> ] 
- 
-If ''directory'' is not specified, changes to home directory. 
- 
-Examples: 
-<code winscp> 
-cd /home/martin 
-cd 
-</code> 
- 
-===== chmod ===== 
-[[task_properties|Changes permissions]] of one or more remote files.  
- 
-  chmod <mode> <file> [ <file2> ... ] 
- 
-''mode'' can be specified as three or four-digit octal number. 
- 
-Filename can be replaced with [[file_mask|wildcard]] to select multiple files. 
- 
-Examples: 
-<code winscp> 
-chmod 644 index.html about.html 
-chmod 1700 /home/martin/public_html 
-chmod 644 *.html 
-</code> 
- 
-===== close ===== 
-Closes session. 
- 
-  close [ <session> ] 
- 
-Closes session specified by its number. When ''session'' is not specified, closes currently selected session. 
- 
-Examples: 
-<code winscp> 
-close 1 
-close 
-</code> 
- 
-===== exit ===== 
-Closes all sessions and terminates the program. 
-   
-  exit 
- 
-Alias: ''bye'' 
- 
-===== get ===== 
-[[task_download|Downloads]] one or more files from remote directory to local directory. 
- 
-  get <file> [ [ <file2> ... ] <directory>\[ <newname> ] ] 
- 
-Downloads one or more files from remote directory to local directory. If only one parameter is specified downloads the file to local working directory. If more parameters are specified, all except the last one specify set of files to download. The last parameter specifies target local directory and optionally [[operation_mask|operation mask]] to store file(s) under different name. Destination directory must end with backslash. Filename can be replaced with [[file_mask|wildcard]] to select multiple files. To download more files to current working directory use ''.\'' as the last parameter. 
- 
-Use [[script_commands#option|option]] command to set [[transfer_settings|transfer options]]. 
- 
-Alias: ''recv'' 
- 
-Effective [[script_commands#option|options]]: ''transfer'', ''confirm'', ''exclude'', ''include'' 
- 
-Examples: 
-<code winscp> 
-get index.html 
-get index.html about.html .\ 
-get index.html about.html d:\www\ 
-get public_html/index.html d:\www\about.* 
-get *.html *.png d:\www\*.bak 
-</code> 
- 
-===== help ===== 
-Displays help for script commands. 
- 
-  help [ <command> [ <command2> ... ] ] 
- 
-Displays list of commands when no parameters are specified. Displays help for each command when some are specified. 
- 
-Alias: ''man'' 
- 
-Examples: 
-<code winscp> 
-help ls 
-help 
-</code> 
- 
-===== keepuptodate ===== 
-[[task_keep_up_to_date|Watches for changes]] in local directory and reflects them on remote one. 
- 
-  keepuptodate [ <local directory> [ <remote directory> ] ] 
- 
-When directories are not specified, current working directories are synchronized. To stop watching for changes press ''Ctrl-C''. Obsolete files are deleted, if [[script_commands#option|option]] ''synchdelete'' is on. 
- 
-Note: Overwrite confirmations are always off for the command. 
- 
-Effective [[script_commands#option|options]]: ''transfer'', ''synchdelete'', ''exclude'', ''include'' 
- 
-Examples: 
-<code winscp> 
-keepuptodate d:\www /home/martin/public_html 
-keepuptodate 
-</code> 
-test 
- 
-===== lcd ===== 
-Changes local working directory for all sessions. 
- 
-  lcd <directory> 
- 
-Example: 
-<code winscp> 
-lcd d:\ 
-</code> 
- 
-===== lls ===== 
-Lists the contents of local directory.  
- 
-  lls [ <directory> ]\[ <wildcard> ] 
- 
-If ''directory'' is not specified, lists working directory. When ''[[file_mask|wildcard]]'' is specified, it is treated as set of files to list. Otherwise, all files are listed. 
- 
-Examples: 
-<code winscp> 
-lls *.html 
-lls d:\ 
-lls 
-</code> 
- 
-===== ln ===== 
-[[task_link|Creates remote symlink]]. 
- 
-  ln <target> <symlink> 
- 
-Alias: ''symlink'' 
- 
-Example: 
-<code winscp> 
-ln /home/martin/public_html www 
-</code> 
- 
-===== lpwd ===== 
-Prints current local working directory (valid for all sessions). 
- 
-  lpwd 
- 
-===== ls ===== 
-Lists the contents of specified directory. 
-  ls [ <directory> ]/[ <wildcard> ] 
- 
-Lists the contents of specified remote directory. If ''directory'' is not specified, lists working directory. When ''[[file_mask|wildcard]]'' is specified, it is treated as set of files to list. Otherwise, all files are listed. 
- 
-Alias: ''dir'' 
- 
-Examples: 
-<code winscp> 
-ls *.html 
-ls /home/martin 
-ls 
-</code> 
- 
-===== mkdir ===== 
-[[task_create_directory|Creates remote directory]]. 
- 
-  mkdir <directory> 
- 
-Example: 
-<code winscp> 
-mkdir public_html 
-</code> 
- 
-===== mv ===== 
-[[task_move_duplicate|Moves]] or renames one or more remote files.  
- 
-  mv <file> [ <file2> ... ] [ <directory>/ ][ <newname> ] 
- 
-Destination ''directory'' or ''newname'' or both must be specified. Destination directory must end with slash. [[operation_mask|Operation mask]] can be used instead of new name. Filename can be replaced with [[file_mask|wildcard]] to select multiple files. 
- 
-Alias: ''rename'' 
- 
-Examples: 
-<code winscp> 
-mv index.html public_html/ 
-mv index.html about.* 
-mv index.html public_html/about.* 
-mv public_html/index.html public_html/about.html /home/martin/*.bak 
-mv *.html /home/backup/*.bak 
-</code> 
- 
-===== open ===== 
-Establishes new connection. 
- 
-  open <stored session> 
-  open [ sftp|ftp|scp:// ][ <user> [ :password ] @ ] <host> [ :<port> ] 
- 
-Establishes connection to given host. Use either name of the ''[[ui_login_stored_sessions|stored session]]'' or specify ''host'', ''username'', ''port'' and protocol directly. 
- 
-Available switches: 
-^ Switch          ^ Description ^ 
-| ''-hostkey=<fingerprint>''        | Specifies fingerprint of expected host key. It makes WinSCP automatically [[scripting#hostkey|accept hostkey]] with the fingerprint.  | 
- 
-Examples: 
-<code winscp> 
-open sftp://martin@example.com:2222 
-open martin@example.com 
-open example.com 
-open 
-</code> 
- 
-===== option ===== 
-Shows or sets value of script options. 
- 
-  option [ <option> [ <value> ] ] 
- 
-If no parameters are specified, lists all script options and their values. When one parameter is specified only, shows value of the option. When two parameters are specified sets value of the option. Initial values of some options are taken from application configuration, however modifing the options does not change the application configuration. 
- 
-Options are: 
-^ Option          ^ Values and description ^ 
-| ''echo''        | ''%%on|off%%'' \\ Toggles echoing of command being executed. \\ Commands affected: all | 
-| ''batch''      | ''%%on|off|abort|continue%%'' \\ Toggles batch mode (all prompts are automatically replied negatively). When ''on'', it is recommended to set ''confirm'' to ''off'' to allow overwrites. With ''abort'' script is aborted when any error occurs. With ''continue'' all errors are ignored. \\ Commands affected: nearly all | 
-| ''confirm''    | ''%%on|off%%'' \\ Toggles confirmations (overwrite, etc.). \\ Commands affected: ''[[script_commands#get|get]]'', ''[[script_commands#put|put]]'' | 
-| ''transfer''    | ''%%binary|ascii|automatic%%'' \\ [[transfer_mode|Transfer mode]]: binary, ascii (text), automatic (by extension). \\ Commands affected: ''[[script_commands#get|get]]'', ''[[script_commands#put|put]]'', ''[[script_commands#synchronize|synchronize]]'', ''[[script_commands#keepuptodate|keepuptodate]]'' | 
-| ''synchdelete'' | ''%%on|off%%'' \\ Should obsolete files be deleted during [[task_synchronize|synchronization]]? \\ Commands affected: ''[[script_commands#synchronize|synchronize]]'', ''[[script_commands#keepuptodate|keepuptodate]]'' | 
-| ''exclude'' \\ ''include''    | ''%%clear | <mask>[;<mask2>...]%%'' \\ Sets [[ui_transfer#other_options|exclusion or inclusion]] [[file_mask|masks]] (only one can be set at time). \\ Commands affected: ''[[script_commands#get|get]]'', ''[[script_commands#put|put]]'', ''[[script_commands#synchronize|synchronize]]'', ''[[script_commands#keepuptodate|keepuptodate]]'' | 
- 
-Aliases: ''ascii'' (for ''option transfer ascii''), ''binary'' (for ''option transfer binary'') 
- 
-Examples: 
-<code winscp> 
-option transfer 
-option confirm off 
-option include "*.html; */" 
-exclude "*.tpl.php" 
-option 
-</code> 
- 
-===== put ===== 
-[[task_upload|Uploads]] one or more files from local directory to remote directory. 
- 
-  put <file> [ [ <file2> ... ] <directory>/[ <newname> ] ] 
- 
-If only one parameter is specified uploads the file to remote working directory. If more parameters are specified, all except the last one specify set of files to upload. The last parameter specifies target remote directory and optionally [[operation_mask|operation mask]] to store file(s) under different name. Destination directory must end with slash. Filename can be replaced with [[file_mask|wildcard]] to select multiple files. To upload more files to current working directory use ''./'' as the last parameter. 
- 
-Use [[script_commands#option|option]] command to set [[transfer_settings|transfer options]]. 
- 
-Alias: ''send'' 
- 
-Effective [[script_commands#option|options]]: ''transfer'', ''confirm'', ''exclude'', ''include'' 
- 
-Examples: 
-<code winscp> 
-put index.html 
-put index.html about.html ./ 
-put index.html about.html /home/martin/public_html/ 
-put d:\www\index.html about.* 
-put *.html *.png /home/martin/backup/*.bak 
-</code> 
- 
-===== pwd ===== 
-Prints current remote working directory for active session. 
- 
-  pwd 
- 
-===== rm ===== 
-Removes one or more remote files.  
- 
-  rm <file> [ <file2> ... ] 
- 
-If [[ui_login_environment#recycle_bin|remote recycle bin]] is configured, moves file to the bin instead of deleting it. Filename can be replaced with [[file_mask|wildcard]] to select multiple files. 
- 
-Examples: 
-<code winscp> 
-rm index.html 
-rm index.html about.html 
-rm *.html 
-</code> 
- 
-===== rmdir ===== 
-Removes one or more remote directories. 
- 
-  rmdir <directory> [ <directory2> ... ] 
- 
-If [[ui_login_environment#recycle_bin|remote recycle bin]] is configured, moves directory to the bin instead of deleting it. 
- 
-Example: 
-<code winscp> 
-rmdir public_html 
-</code> 
- 
-===== session ===== 
-Manages opened sessions. 
- 
-  session [ <session> ] 
- 
-Makes session specified by its number active. When session number is not specified, lists connected sessions. 
- 
-Examples: 
-<code winscp> 
-session 1 
-session 
-</code> 
- 
-===== synchronize ===== 
-[[task_synchronize_full|Synchronizes directories]]. 
- 
-  synchronize local|remote|both [ <local directory> [ <remote directory> ] ] 
- 
-When the first parameter is ''local'', changes from remote directory are applied to local directory. When the first parameter is ''remote'', changes from the local directory are applied to the remote directory. When the first parameter is ''both'', both local and remote directories can be modified. 
- 
-When directories are not specified, current working directories are synchronized. 
- 
-Obsolete files are deleted, if [[script_commands#option|option]] ''synchdelete'' is on. Note: Overwrite confirmations are always off for the command. 
- 
-Effective [[script_commands#option|options]]: ''transfer'', ''synchdelete'', ''exclude'', ''include'' 
- 
-Examples: 
-<code winscp> 
-synchronize remote 
-synchronize both d:\www /home/martin/public_html 
-</code>