【发布时间】:2015-07-18 17:44:28
【问题描述】:
我必须远程传输位于不同目录中的文件。这些目录与 Google Drive 同步,并且每天都有新的添加。我想运行一个每天运行一次的脚本,并将传输那些新的目录。我可以处理选择新目录的部分。我正在使用 MATLAB 进行这些目录操作。为了传输文件,我编写了一个 Windows bat 文件,它调用另一个执行传输的 WinSCP 脚本。到此为止没有任何问题。
我的问题是,当我从 MATLAB 调用 windows bat 文件时,我想为特定目录执行此操作。例如,我的目录名称是dir_1、dir_2 等,我想具体的目录号。更具体地说,我想用一个指定目录名称的参数整数来调用 bat 文件。从那个 bat 文件中,当我调用 WinSCP 脚本文件时,我也想将其作为参数传递以传输特定目录。
举个例子:
我从 MATLAB 调用:
dos(`PathToBatFile.bat`)
bat 文件包含(调用 WinSCP):
cd C:\winscp
WinSCP.com /script="test.bat"
test.bat 包含(实际传输):
open sftp://uname:pass@webaddress.com/ -hostkey="ssh-rsa 2048 xx:xx:xx"
put D:\mydrive\file_1.txt /home/user/
close
exit
因此,在这些脚本中,我将file_1.txt 转移到远程位置。我想为特定目录执行此操作,我可以从 MATLAB 中获取其名称(MATLAB 中的 dos() 命令在循环中运行,我在其中获取目录号)。
【问题讨论】:
标签: windows matlab batch-file cmd winscp