Board logo

标题: 批处理中如何组合字符变量 [打印本页]

作者: inwind     时间: 2006-12-1 12:23    标题: 批处理中如何组合字符变量
想写一个ftp自动上传的批处理

open ftp.test.cn
user guest
guest
bin
prompt off
put 测试%%date:~0,4%%date:~5,2%%date:~8,2%.txt
bye

这个文件名字组合不成功,请各位指点了。

作者: redtek     时间: 2006-12-1 12:49
下面的贴子和inwind兄提及的问题一样~:)
inwind兄可以参考里面的解决方法~:)


求助ftp下载传递参数问题……
http://www.cn-dos.net/forum/viewthread.php?tid=25145&fpage=1&highlight=ftp

作者: inwind     时间: 2006-12-6 03:53
谢谢 redtek,
以下是实现,只是日志功能差了点,我的水平还是不行。

@echo off
rem /////////////////////////////////////////////////////////////////
rem // INWIND 2006-12-02
rem // ftp上传文件
rem // 格式: upfile.bat FTP服务器地址 用户名 密码 要上传文件
rem /////////////////////////////////////////////////////////////////

if "%1"=="" goto End
if "%2"=="" goto End
if "%3"=="" goto End
if "%4"=="" goto End

set ftpfile=upfiles.tmp
set logfile=upfiles.log


if not exist upfile/%4 goto NoFile


rem // 生成上传脚本

echo open %1 > "%ftpfile%"
echo user %2 %3 >> "%ftpfile%"
echo bin >> "%ftpfile%"
echo prompt >> "%ftpfile%"
echo put upfile/%4 >> "%ftpfile%"
echo bye >> "%ftpfile%"

rem // 记录log
echo ******************************** >> "%logfile%"
echo ***** start **************** >> "%logfile%"
date /t time /t>> "%logfile%"
time /t>> "%logfile%"
echo . >> "%logfile%"

rem // 上传文件
ftp -n < "%ftpfile%" >> "%logfile%"
rem // 每天的日志分割符号
echo ***** end **************** >> "%logfile%"
echo . >> "%logfile%"

rem // 删除临时脚本
del "%ftpfile%"

set ftpfile=
set logfile=
rem set fileName=

goto End

:NoFile
rem // 记录log
echo **************************** >> "%logfile%"
echo ***** start **************** >> "%logfile%"
date /t time /t>> "%logfile%"
time /t>> "%logfile%"
echo . >> "%logfile%"
echo 上传失败! >> "%logfile%"
echo 原因:上传的文件:%4不存在! >> "%logfile%"
rem // 每天的日志分割符号
echo ***** end ***************>> "%logfile%"
echo . >> "%logfile%"


:End


@echo on

作者: redtek     时间: 2006-12-6 04:18
inwind兄好象是第一个遇到FTP问题之后积极解决掉问题,
并贴上自己的构想与写出的通用和较为完整的FTP自动上传代码,
同时还方便了更多完成此类型工作的网友共享它~:)

inwind兄这种执著的精神令人佩服~:)))