使用 unix 命令将文件从 Windows 移动(而不是复制)到 Unix

使用 unix 命令将文件从 Windows 移动(而不是复制)到 Unix

我需要执行一个数据阶段 ETL 作业,该作业运行一个 shell 脚本,将文件从 Windows 计算机(不是文件系统)中的特定文件夹移动到 Unix 中的目录。

我现在有这样的东西

HOST=UNIX123
USER=abcd
PASSWORD=abc123
FILE_NAME="Test.txt"
ftp -v -n WINDOWS123 << end_script
user zxc/VKR XYZ
lcd /stg/scripts 
cd "data" 
binary
mget *.txt
quit
end_script

这里的 mget 命令只是复制文件。我想移动文件而不是副本

答案1

如果您有一个至少具有管理员共享的 Windows 盒子\\computer\c$,并且您有一个将运行该脚本的 Linux 盒子:

挂载Windows共享读/写

mount -t cifs $network_path $mount_directory -o credentials=$cred_file

对挂载的目录执行move命令

mv "$mount_directory/*" "$new_directory"

可能需要复制然后删除文件...

cp "$mount_directory/*"
rm "$mount_directory/*"

cp检查命令( 、mv和)上可能需要的开关rm

相关内容