Batch file 批处理文件WinSCP。复制到两个本地文件夹

Batch file 批处理文件WinSCP。复制到两个本地文件夹,batch-file,winscp,Batch File,Winscp,我创建了一个批处理文件,它将文件从UNIX(Solaris)服务器移动到Windows XP计算机。在此过程中,它将从UNIX服务器上删除文件 我想做的是,一旦文件被传输到“本地”计算机(安装了WinSCP程序),我想让它将一些文件复制到另一个本地(映射网络驱动器)文件夹 我想(仅)将放入C:\DICOM文件夹的文件复制到L:\dicomrt文件夹中 以下是我在开始部分使用的内容: # Created by Daniel E. Cronk to transfer images from the

我创建了一个批处理文件,它将文件从UNIX(Solaris)服务器移动到Windows XP计算机。在此过程中,它将从UNIX服务器上删除文件

我想做的是,一旦文件被传输到“本地”计算机(安装了WinSCP程序),我想让它将一些文件复制到另一个本地(映射网络驱动器)文件夹

我想(仅)将放入
C:\DICOM
文件夹的文件复制到
L:\dicomrt
文件夹中

以下是我在开始部分使用的内容:

# Created by Daniel E. Cronk to transfer images from the Pinnacle RT station to the LinAc computer.

# Comment out the next two lines to test
option batch on
option confirm off

# Connect - format: user:password@host
open ftp://username:password@hostname

# Change remote directory
cd /files/network/DICOM

# Change Local Directory
lcd C:\DICOM

# Force binary mode transfer
option transfer binary

# Download backup file to the local directory
get -delete RT*.dcm
get -delete CT*.dcm
get -delete MR*.dcm

# Disconnect
close

# Exit WinSCP
exit

WinSCP中没有用于将文件从本地复制到本地的命令,因为不需要它,因为您可以使用(或者
xcopy
,如果您愿意的话)

如果WinSCP脚本名为
script.txt
,请将其包装到Windows批处理文件中,如:

@echo off

winscp.com /script=script.txt /log=winscp.log

copy C:\DICOM\RT*.dcm L:\dicomrt\
请参见类似的示例


或者,您可以将两个文件合并为一个,如下所示:

@echo off

winscp.com /log=winscp.log /command ^
    "open ftp://username:password@hostname" ^
    "option batch on" ^
    "cd /files/network/DICOM" ^
    "lcd C:\DICOM" ^
    "get -delete RT*.dcm" ^
    "get -delete CT*.dcm" ^
    "get -delete MR*.dcm" ^
    "close" ^
    "exit"

copy C:\DICOM\RT*.dcm L:\dicomrt\

请注意,
选项confirm off
命令在最新版本的WinSCP中不是必需的。WinSCP现在也默认为
选项批处理中止
(可能比您的
选项批处理更合适)


WinSCP也默认为二进制模式,因此也不需要
选项transfer binary
。无论如何,这是一种不推荐使用的语法,正确的语法是
get-transfer=binary-delete RT*.dcm

那些“文件”是什么?你如何把它们和其他的区别开来?谢谢。是的,我会将RT*.dcm文件从目录A复制到目录B。我知道应该在哪里添加xcopy,但我不确定创建新批处理文件是否更容易,或者是否可以将其合并到现有批处理文件中。我设想在批处理文件中添加类似于:xcopy“C:\DICOM\RT*.dcm”“L:\dicomrt”的内容,我只是不知道该怎么办。谢谢你,马丁。这正是我所希望的。谢谢。