dearmb 发表于 2011-3-21 17:47:06

关于取回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 个文件来判断我的拷贝是否成功
但是现在不知道怎么提取阿,为什么只提取到一条命令呢?

love5173 发表于 2011-3-21 17:51:46

您是想用AU3来处理来提取你的回显还是,用dos?
是不是只帮你提取最后一句话就可以

dearmb 发表于 2011-3-21 17:52:55

本帖最后由 dearmb 于 2011-3-21 17:54 编辑

恩,目前是这样的,其实我要拷贝的东西一般是几百个小文件,时间很长,希望读取最后一条回显看出拷贝是否成功
我本来是用fastcopy做的,因为fastcopy拷贝之后又日志,
但是无奈拷贝小文件时fastcopy速度居然连xcopy都比不上,只好又回到xcopy了……

love5173 发表于 2011-3-21 18:21:21

xcopy D:\UserFile\Desktop\修改密码\*.* D:\UserFile\Desktop\新建文件夹\ /d /y /s >123.txt
find"复" 123.txt >3.txt
dos下的命令 这个不满意的话 也可以用正则 应该不会显示文件名

love5173 发表于 2011-3-21 18:24:54

xcopy D:\UserFile\Desktop\修改密码\*.* D:\UserFile\Desktop\新建文件夹\ /d /y /s >123.txt
Findstr"复.*件" 123.txt >3.txt基于正则 只显示结果

kevinch 发表于 2011-3-21 19:04:02

http://www.autoitx.com/thread-22934-1-1.html
看一下这个帖子有没有什么参考的。

dearmb 发表于 2011-3-22 11:42:23

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:49:34

本帖最后由 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

dearmb 发表于 2011-3-22 12:08:59


gapkiller 发表于 2011-3-22 11:49 http://autoitx.com/images/common/back.gif


   没明白啥意思……

republican 发表于 2011-3-22 12:56:29

DOS是基于管道的,想精确获取,可以参考AU3进阶示例中的管道示例。

3mile 发表于 2011-3-22 13:01:13

目前的情况是,我在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呢?

dearmb 发表于 2011-3-22 13:07:27

逻辑有问题.
如果有上千台电脑或数个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拷贝成功了还是失败了?

3mile 发表于 2011-3-22 13:37:07

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

gapkiller 发表于 2011-3-22 14:11:43

没明白啥意思……
dearmb 发表于 2011-3-22 12:08 http://www.autoitx.com/images/common/back.gif


    我的意思是xcopy本身有返回值来判断copy是否pass, 不需要那么复杂.

dearmb 发表于 2011-3-22 14:35:49

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


    这个思路不错~~~
页: [1] 2 3
查看完整版本: 关于取回DOS回显的问题?