脚本自动化将文件从PC(Windows)上传到Linux服务器,然后重命名它们

时间:2019-06-27 21:09:26

标签: bash powershell batch-file cmd putty

我想自动执行以下手动任务:

名为a.csv的文件夹中的文件列表:b.csvc.csvfiles

  1. 将这些文件重命名为a_1.csvb_1.csvc_1.csv
  2. 将这些文件上传到Linux服务器(可以使用用户名和密码通过PuTTY连接)
  3. 完成上传后,将它们重命名为a.csvb.csvc.csv

到目前为止我尝试了什么:

  1. 使用批处理文件重命名,然后使用PuTTY上传文件。但是我一直坚持将文件重命名为原始文件。我不知道如何存储原始名称。
  2. 使用PowerShell,但是上传过程结束时我不知道。

您能否给我一些想法来完成这些任务?我确实做了很多尝试,但没有成功。

1 个答案:

答案 0 :(得分:3)

如果您使用支持masks to modify file name as the file is uploaded的客户端,这很简单。

例如,使用WinSCP,您可以执行以下操作:

put C:\local\path\*.* /remote/path/*_1.csv

它将上传所有文件,并将后缀为_1的文件存储在服务器上。而且,您甚至不需要重命名本地文件。

首先,请参见guide to automating file transfer with WinSCP

(我是WinSCP的作者)