我正在尝试从ftp位置下载具有特定文件名的每个文件,在其上运行命令然后将其删除。
例如:从“\ some \ random \ ftp \ location”下载每个看起来像“* _qwerty.jpeg”的文件,然后在其上运行命令。命令完成后,删除它。我也需要脚本来忽略所有other.jpeg文件。
我正在尝试在Windows CMD或Powershell中执行此操作
有没有人有任何建议?
答案 0 :(得分:0)
最简单的方法是使用Ftp.exe并使用参数文件驱动它。使用mget下载带通配符的文件。使用foreach循环迭代文件并执行操作。像这样,
<commandfile>
lcd <path-to-local-dir>
open <ftp-site>
<username>
<password>
bin
cd <path-to-remote-dir>
prompt
mget <filename-with-wildcards>
close
bye
在Powershell中使用命令文件很简单:
Ftp -s:<commandfile>
foreach($i in gci <path-to-images>) {
<do-something> $i
}
您也可以对批处理脚本执行相同的操作(请记住在脚本中使用double-%,在命令行中使用单%)。
Ftp -s:<commandfile>
for /f "tokens=*" %j in ('dir /b <path-to-images') do <do-something> %j