我有一个包含以下命令的 SCR 文件
open myftp.myserver.com
myusername
mypassword
lcd "c:\myfolder"
cd webfolder
get myfile09202012
我每周运行一次带有 BAT 文件的脚本作为 Windows 任务。本周,要下载的文件名为“myfile09202012”。下周,文件名将是“myfile09272012”。我将如何创建一个脚本来每周自动生成新文件名?
我有一个包含以下命令的 SCR 文件
open myftp.myserver.com
myusername
mypassword
lcd "c:\myfolder"
cd webfolder
get myfile09202012
我每周运行一次带有 BAT 文件的脚本作为 Windows 任务。本周,要下载的文件名为“myfile09202012”。下周,文件名将是“myfile09272012”。我将如何创建一个脚本来每周自动生成新文件名?
将此批处理文件的输出通过管道传输到您的脚本文件,然后以正常方式运行生成的脚本。
@echo off
echo open myftp.myserver.com
echo myusername
echo mypassword
echo lcd "c:\myfolder"
echo cd webfolder
for /f "tokens=2-4 delims=/ " %%a in ('echo %date%') do echo get myfile%%a%%b%%c
它将使用当前日期生成文件名
要将整个批处理合并到另一个批处理文件中,最终会是这样的:
@ECHO OFF
cd c:\myfolder
echo open myftp.myserver.com > mySCRfile.SCR
echo myusername >> mySCRfile.SCR
echo mypassword >> mySCRfile.SCR
echo lcd "c:\myfolder" >> mySCRfile.SCR
echo cd webfolder >> mySCRfile.SCR
for /f "tokens=2-4 delims=/ " %%a in ('echo %date%') do echo get myfile%%a%%b%%c >> mySCRfile.SCR
ftp -s:mySCRfile.SCR
或者
@ECHO OFF
cd c:\myfolder
call MakeTheScr > mySCRfile.SCR
ftp -s:mySCRfile.SCR
我最终使用了以下约定
get myfile%date:~4,2%%date:~7,2%%date:~10%
如果您输入命令 'echo %date%',您将收到格式为 'Wed 10/10/2012' 的今天日期字符串 '%date:~4,2%' 在第 4 个占位符处返回上述格式,并且返回接下来的 2 个字符。