关于取回DOS回显的问题?
本帖最后由 dearmb 于 2011-3-24 18:10 编辑http://autoitx.com/forum.php?mod=viewthread&tid=2109&highlight=dos%2B%BB%D8%CF%D4
我现在找到的用14楼的例子试验
但是我的bat内容是拷贝,命令是xcopy /e /i /y D:\SOHO\line4\*.* \\192.168.183.59\d$\EntrySystems\Line4
用14楼的例子,得到的回显是Z:\>xcopy /e /i /y D:\SOHO\line4\*.* \\192.168.183.59\d$\EntrySystems\Line4
而实际运行看到的是下面的内容
Z:\>xcopy /e /i /y D:\SOHO\line4\*.* \\192.168.183.59\d$\EntrySystems\Line4
D:\SOHO\line4\SOHO.exe.config.txt
D:\SOHO\line4\WcfInvokeContext.dll
D:\SOHO\line4\新建 文本文档.txt
复制了 3 个文件
我现在的想法是提取最后的,复制了 3 个文件来判断我的拷贝是否成功
但是现在不知道怎么提取阿,为什么只提取到一条命令呢?
您是想用AU3来处理来提取你的回显还是,用dos?
是不是只帮你提取最后一句话就可以 本帖最后由 dearmb 于 2011-3-21 17:54 编辑
恩,目前是这样的,其实我要拷贝的东西一般是几百个小文件,时间很长,希望读取最后一条回显看出拷贝是否成功
我本来是用fastcopy做的,因为fastcopy拷贝之后又日志,
但是无奈拷贝小文件时fastcopy速度居然连xcopy都比不上,只好又回到xcopy了…… xcopy D:\UserFile\Desktop\修改密码\*.* D:\UserFile\Desktop\新建文件夹\ /d /y /s >123.txt
find"复" 123.txt >3.txt
dos下的命令 这个不满意的话 也可以用正则 应该不会显示文件名 xcopy D:\UserFile\Desktop\修改密码\*.* D:\UserFile\Desktop\新建文件夹\ /d /y /s >123.txt
Findstr"复.*件" 123.txt >3.txt基于正则 只显示结果 http://www.autoitx.com/thread-22934-1-1.html
看一下这个帖子有没有什么参考的。 dos下的命令 这个不满意的话 也可以用正则 应该不会显示文件名
love5173 发表于 2011-3-21 18:21 http://autoitx.com/images/common/back.gif
目前的情况是,我在cmd下运行,我看到的内容是
Z:\>xcopy /e /i /y D:\SOHO\line4\*.* \\192.168.183.59\d$\EntrySystems\Line4
D:\SOHO\line4\SOHO.exe.config.txt
D:\SOHO\line4\WcfInvokeContext.dll
D:\SOHO\line4\新建 文本文档.txt
复制了 3 个文件
而如果加入了>abc.txt,这样保存的回显内容是
D:\SOHO\line4\SOHO.exe.config.txt
D:\SOHO\line4\WcfInvokeContext.dll
D:\SOHO\line4\新建 文本文档.txt
复制了 3 个文件
最上面一行的命令保存不进去,最上面一行很重要,表示了我保存到了那个IP地址
因为同时拷贝的可能会上千台PC,如果仅仅保存了
D:\SOHO\line4\SOHO.exe.config.txt
D:\SOHO\line4\WcfInvokeContext.dll
D:\SOHO\line4\新建 文本文档.txt
复制了 3 个文件
D:\SOHO\line4\SOHO.exe.config.txt
D:\SOHO\line4\WcfInvokeContext.dll
D:\SOHO\line4\新建 文本文档.txt
复制了 3 个文件
………
我就不知道到底是哪个成功了,哪个失败了…… 本帖最后由 gapkiller 于 2011-3-22 11:51 编辑
@echo off
xcopy /e /i /y D:\SOHO\line4\*.* \\192.168.183.59\d$\EntrySystems\Line4
if errorlevel 1 goto fail
:pass
echo pass
pause>nul
goto end
:fail
echo fail
pause>nul
:end
gapkiller 发表于 2011-3-22 11:49 http://autoitx.com/images/common/back.gif
没明白啥意思…… DOS是基于管道的,想精确获取,可以参考AU3进阶示例中的管道示例。 目前的情况是,我在cmd下运行,我看到的内容是
Z:\>xcopy /e /i /y D:\SOHO\line4\*.* \\192.168.183. ...
dearmb 发表于 2011-3-22 11:42 http://www.autoitx.com/images/common/back.gif
逻辑有问题.
如果有上千台电脑或数个IP的话,这里Z:\>xcopy /e /i /y D:\SOHO\line4\*.* \\192.168.183.59\d$\EntrySystems\Line4的\\192.168.183.59 这个IP地址是你自己指定的,怎么会不知道是哪个IP呢? 逻辑有问题.
如果有上千台电脑或数个IP的话,这里Z:\>xcopy /e /i /y D:\SOHO\line4\*.* \\192.168.183.5 ...
3mile 发表于 2011-3-22 13:01 http://autoitx.com/images/common/back.gif
比如这里批处理
xcopy /e /i /y D:\SOHO\line4\*.* \\192.168.183.59\d$\EntrySystems\Line4
……
xcopy /e /i /y D:\SOHO\line4\*.* \\192.168.183.254\d$\EntrySystems\Line4
这样就会有200多台机器进行拷贝
而保存到txt中的内容只有
D:\SOHO\line4\SOHO.exe.config.txt
D:\SOHO\line4\WcfInvokeContext.dll
D:\SOHO\line4\新建 文本文档.txt
复制了 3 个文件
D:\SOHO\line4\SOHO.exe.config.txt
D:\SOHO\line4\WcfInvokeContext.dll
D:\SOHO\line4\新建 文本文档.txt
复制了 3 个文件
D:\SOHO\line4\SOHO.exe.config.txt
D:\SOHO\line4\WcfInvokeContext.dll
D:\SOHO\line4\新建 文本文档.txt
复制了 3 个文件
D:\SOHO\line4\SOHO.exe.config.txt
D:\SOHO\line4\WcfInvokeContext.dll
D:\SOHO\line4\新建 文本文档.txt
复制了 3 个文件
……
我怎么能对应上,比如183.200拷贝成功了还是失败了? for $I=0 to255
RunWAIT(@ComSpec & " /c " & "xcopy /e /i /y D:\SOHO\line4\*.* \\192.168.183."&$IP&"\d$\EntrySystems\Line4 >"&$IP&".TXT", "", @SW_HIDE)
next 没明白啥意思……
dearmb 发表于 2011-3-22 12:08 http://www.autoitx.com/images/common/back.gif
我的意思是xcopy本身有返回值来判断copy是否pass, 不需要那么复杂. for $I=0 to255
RunWAIT(@ComSpec & " /c " & "xcopy /e /i /y D:\SOHO\line4\*.* \\192.168.183."&$IP&"\ ...
3mile 发表于 2011-3-22 13:37 http://autoitx.com/images/common/back.gif
这个思路不错~~~