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

Script automation upload files from PC (Windows) to Linux server then rename them

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

文件列表:a.csvb.csvc.csv 在名为 files

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

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

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

你能给我一些完成这些任务的想法吗?我确实尝试了很多研究但没有成功。

如果您使用支持 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的作者)