![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 15:38 |
共 47,811 主题排行 / 349,896 发帖 / 今日 1 篇 / 48,254 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 批处理处理文件的属性 |
| 可打印版本 2,072 / 16 |
| 第1楼 qwertl | 发表于 2008-08-17 12:40 |
| 中级用户 发帖 243 积分 461 | |
|
批处理处理文件的属性 请教各位朋友,怎样实现对一个目录里的几个文件自动上传FTP时只上传有归档属性的文件,然后FTP上传成功后自动清除(本机)刚上传文件的归档属性,批处理可以实现到吗?有点类似于对文件增量备份的功能吧.
[ Last edited by qwertl on 2008-8-17 at 01:03 PM ] |
|
| 第2楼 HAT | 发表于 2008-08-17 12:49 |
| 版主 发帖 5,017 积分 9,023 | |
|
"FTP上传成功后自动清除刚上传文件的归档属性"
这个无法实现吧,因为ftp里面不能运行attrib命令。当然,如果你可以telnet上去,就可以了。 |
|
| 第3楼 qwertl | 发表于 2008-08-17 12:59 |
| 中级用户 发帖 243 积分 461 | |
|
是指去掉本机的刚上传的已有归档属性的文件,不是指处理远程的文件.
|
|
| 第4楼 HAT | 发表于 2008-08-17 13:17 |
| 版主 发帖 5,017 积分 9,023 | |
| 第5楼 qwertl | 发表于 2008-08-17 18:02 |
| 中级用户 发帖 243 积分 461 | |
|
@echo off
set SrcFolder=C:\test dir /b /aa-d>nul 2>nul 加-d后不明有什么区别, dir /b /aa-d>nul 2>nul 这句输出的errorlevel值能讲解下吗? if %errorlevel% equ 1 ( echo No archiving file to FTP pause goto :eof ) set FtpFile=%temp%\TempAcc.txt >"%FtpFile%" echo USERNAME >>"%FtpFile%" echo PASSWORD >>"%FtpFile%" echo bin for /f "tokens=*" %%a in ('dir /b /aa-d') do ( >>"%FtpFile%" echo put "%SrcFolder%\%%a" ) for 语句执行后提示:此时不应有 %%a。 >>"%FtpFile%" echo bye start ftp -v -i -s:"%FtpFile%" IPADDRESS ping -n 10 127.1>nul 上传的是比较大的文件-n参数的时间最大延长多久? attrib -a *.* 这句清除属性的命令,传输异常情况下也是执行清除吗 刚接触批处理 ,请多指教,谢谢 [ Last edited by qwertl on 2008-8-17 at 06:17 PM ] |
|
| 第6楼 HAT | 发表于 2008-08-17 18:13 |
| 版主 发帖 5,017 积分 9,023 | |
|
//加-d后不明有什么区别, dir /b /aa-d>nul 2>nul 这句输出的errorlevel值能讲解下吗?
看帮助 dir /? //for 语句执行后提示:此时不应有 %%a。 把4楼的代码保存为xxx.bat,双击运行。 //上传的是比较大的文件-n参数的时间最大延长多久? 几个小时够吗? //这句清除属性的命令,传输异常情况下也是执行清除吗 是的 |
|
| 第7楼 qwertl | 发表于 2008-08-17 18:43 |
| 中级用户 发帖 243 积分 461 | |
|
可以对上传成功的文件有个日志来查询吗?传输出错时才可以查到.
[ Last edited by qwertl on 2008-8-18 at 11:00 AM ] |
|
| 第8楼 qwertl | 发表于 2008-08-18 22:20 |
| 中级用户 发帖 243 积分 461 | |
|
对ftp 上传出问题时能做errorlevel值做判断吗?或其它方式来确认,如果上传成功文件则清除归档属性,上传不成功或中断等原因则不清除.
|
|
| 第9楼 HAT | 发表于 2008-08-18 23:07 |
| 版主 发帖 5,017 积分 9,023 | |
|
ftp命令里面不支持errorlevel吧
|
|
| 第10楼 qwertl | 发表于 2008-08-22 00:41 |
| 中级用户 发帖 243 积分 461 | |
|
当目录下没有归档属性文件时,
echo No archiving file to FTP没显示到,而且后面的生成FTP连接文件及登录FTP还有运行,没中止掉. |
|
| 第11楼 yishanju | 发表于 2008-08-22 09:18 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
这个。。楼主
总不能把所有的问题都让别人来解决吧 |
|
| 第12楼 qwertl | 发表于 2008-08-27 09:28 |
| 中级用户 发帖 243 积分 461 | |
|
@echo off
set SrcFolder=C:\test dir /b /aa-d>nul 2>nul if %errorlevel% equ 1 ( echo No archiving file to FTP pause goto :eof ) set FtpFile=%temp%\TempAcc.txt >"%FtpFile%" echo USERNAME >>"%FtpFile%" echo PASSWORD >>"%FtpFile%" echo cd stat 加了句上传到远程FTP的这个目录 >>"%FtpFile%" echo bin for /f "tokens=*" %%a in ('dir /b /aa-d') do ( >>"%FtpFile%" echo put "%SrcFolder%\%%a" ) 上句直接覆盖FTP上已有的文件要加什么参数呢?试了 put "%SrcFolder%\%%a" /y好象不对,上传在不同的目录了. 改名为y了. >>"%FtpFile%" echo bye start ftp -v -i -s:"%FtpFile%" IPADDRESS ping -n 10 127.1>nul attrib -a *.* 如果批理放在任意目录,清除的A属性的文件是在%SrcFolder%目录.当是好象没有指定当前目录,奇怪? [ Last edited by qwertl on 2008-8-27 at 09:34 AM ] |
|
| 第13楼 HAT | 发表于 2008-08-27 09:48 |
| 版主 发帖 5,017 积分 9,023 | |
|
//上句直接覆盖FTP上已有的文件要加什么参数呢?试了 put "%SrcFolder%\%%a" /y好象不对,上传在不同的目录了. 改名为y了.
put命令就是直接覆盖已有文件的,不用你加什么东西。 //如果批理放在任意目录,清除的A属性的文件是在%SrcFolder%目录.当是好象没有指定当前目录,奇怪? 在CN-DOS这么长时间了,还没搞清楚如何指定目录? |
|
| 第14楼 qwertl | 发表于 2008-08-27 10:26 |
| 中级用户 发帖 243 积分 461 | |
|
会指定目录的,加入cn-dos学了很多东西了,都是跟你学
本是想问没加%SrcFolder%前也是正常的清除了源目录的归档属性,而批处理没指定当前目录而不明白. |
|
| 第15楼 qwertl | 发表于 2008-08-27 12:15 |
| 中级用户 发帖 243 积分 461 | |
|
自动ftp上传怎样可以生成日志可查询呢?
要是上传不成功则发信息到指定邮箱可行吗? |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |