标题: [文本处理] [已解决]批处理下载FTP时mls生成的文件列表有换行 [打印本页]
作者: zc_0101 时间: 2009-7-13 18:05 标题: [已解决]批处理下载FTP时mls生成的文件列表有换行
是这样:我本机ftp到远程服务器上,用mls命令把一个目录下的文件列表生成到本地:
例如:复制代码
生成了一个文件列表,这个列表用记事本打开是一行挨着一行的,但是如果用DreamWeaver或者NotePad++打开的话,会看到每一行之间都有一个“回车”,即中间都隔了一行,就是中间隔的这一行,让我在使用for命令时,产生这样的现象:
我用for循环,取出每一行的数据,再依次写入一个文本文件,结果发现,后来生成的这个文本文件,文件名后都有一个小黑块■(宽度是它的一半),
我想知道怎样避免这个想象,因为多了那个小黑块,让我在进行文件是否存在的判断时,总是判断为不存在。
如果看不明白,请回复,我再说详细点,谢谢!
[attach]1658[/attach]
给大家点材料测试一下 :
这是我mls下来的文本文件,大家下载到一个目录下
[attach]1652[/attach]
然后把以下代码拷贝在一个相同目录下的批处理文件中:-
- @echo off
- for /f "delims=囧" %%j in (model.txt) do (
- echo 正在创建下载文件%%j 的脚本,请稍候…………>test.txt
- echo zc_0101>>test.txt
- echo 851111>>test.txt
- echo type Binary>>test.txt
- echo cd aaa>>test.txt
- echo lcd bbb>>test.txt
- echo mget "%%j">>test.txt
- echo close>>test.txt
- echo quit>>test.txt
- )
- pause
- exit
复制代码
执行后查看test.txt文件,看一下文件名后是否有小黑块?
到底是mls命令的使用问题,还是for循环用得有问题?
作者: zc_0101 时间: 2009-7-15 09:19
哪位有类似的经历,也 可以 说一下 啊
作者: Batcher 时间: 2009-7-15 11:05
先把那些回车符删掉吧:- @echo off
- mshta "javascript:var fso=new ActiveXObject('Scripting.FileSystemObject');fso.OpenTextFile('D:\\a.txt',2,true).Write(fso.OpenTextFile('D:\\test.txt').ReadAll().replace(/\r/g, ''));close()"
复制代码
作者: zc_0101 时间: 2009-7-15 11:09
原帖由 Batcher 于 2009-7-15 11:05 发表
先把那些回车符删掉吧:@echo off
mshta "javascript:var fso=new ActiveXObject('Scripting.FileSystemObject');fso.OpenTextFile('D:\\a.txt',2,true).Write(fso.OpenTextFile('D:\\test.txt').ReadAll().replace ...
谢谢老大,我试试。
作者: zc_0101 时间: 2009-7-15 11:18
原帖由 Batcher 于 2009-7-15 11:05 发表
先把那些回车符删掉吧:@echo off
mshta "javascript:var fso=new ActiveXObject('Scripting.FileSystemObject');fso.OpenTextFile('D:\\a.txt',2,true).Write(fso.OpenTextFile('D:\\test.txt').ReadAll().replace ...
[attach]1659[/attach]
老大,成了这个样子了。。。
作者: Batcher 时间: 2009-7-15 11:54
- @echo off
- mshta "javascript:var fso=new ActiveXObject('Scripting.FileSystemObject');fso.OpenTextFile('D:\\1.txt',2,true).Write(fso.OpenTextFile('D:\\test.txt').ReadAll().replace(/\r\n/g, '\n\n'));close()"
- mshta "javascript:var fso=new ActiveXObject('Scripting.FileSystemObject');fso.OpenTextFile('D:\\2.txt',2,true).Write(fso.OpenTextFile('D:\\1.txt').ReadAll().replace(/\r/g, ''));close()"
- mshta "javascript:var fso=new ActiveXObject('Scripting.FileSystemObject');fso.OpenTextFile('D:\\result.txt',2,true).Write(fso.OpenTextFile('D:\\2.txt').ReadAll().replace(/\n\n/g, '\r\n'));close()"
复制代码
作者: zc_0101 时间: 2009-7-15 17:04
原帖由 Batcher 于 2009-7-15 11:54 发表
@echo off
mshta "javascript:var fso=new ActiveXObject('Scripting.FileSystemObject');fso.OpenTextFile('D:\\1.txt',2,true).Write(fso.OpenTextFile('D:\\test.txt').ReadAll().replace(/\r\n/g, '\n\n'));clo ...
谢谢,经过努力,终于解决,特此更新帖子:
【原创】批处理完成FTP下载远程备份文件到本地
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |