脚本自动将文件从 PC (Windows) 上传到 Linux 服务器,然后重命名它们
Script automation upload files from PC (Windows) to Linux server then rename them
我想自动执行以下手动任务:
文件列表:a.csv
、b.csv
、c.csv
在名为 files
的文件夹中
- 将这些文件重命名为
a_1.csv
、b_1.csv
、c_1.csv
- 将这些文件上传到 Linux 服务器(可以使用用户名和密码通过 PuTTY 连接)
- 上传完成后,将它们重新命名为
a.csv
、b.csv
、c.csv
。
到目前为止我尝试了什么:
- 使用批处理文件重命名,然后使用 PuTTY 上传文件。但我一直坚持将文件重命名为原始文件。我不知道如何存储原始名称。
- 使用 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的作者)
我想自动执行以下手动任务:
文件列表:a.csv
、b.csv
、c.csv
在名为 files
- 将这些文件重命名为
a_1.csv
、b_1.csv
、c_1.csv
- 将这些文件上传到 Linux 服务器(可以使用用户名和密码通过 PuTTY 连接)
- 上传完成后,将它们重新命名为
a.csv
、b.csv
、c.csv
。
到目前为止我尝试了什么:
- 使用批处理文件重命名,然后使用 PuTTY 上传文件。但我一直坚持将文件重命名为原始文件。我不知道如何存储原始名称。
- 使用 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的作者)