首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用xcopy命令提示符日志记录

使用xcopy命令提示符日志记录
EN

Stack Overflow用户
提问于 2011-01-26 22:33:27
回答 1查看 7.7K关注 0票数 1

我有一个正在运行的xcopy脚本,它读取一个包含目录和文件名的.csv文件,并对其进行解析以复制这些文件。

脚本如下:

代码语言:javascript
运行
复制
echo F | for /f "delims=, tokens=1,2,3" %i in (D:\foo.csv) 
do xcopy /i /d "Z:\%i\%j\%k" "Y:\%i\%j\%k" >> "D:\xcopy\Log.txt"

命令提示符的输出是正在执行的命令:

代码语言:javascript
运行
复制
 echo F   | xcopy /i /d "Z:\hcri001\a1\
ffce5a14-33ca-43cf-b366-af266c450979" "Y:\hcri001\a1\ffce5a14-33ca-43cf-b366
-af266c450979"  1>>"D:\xopy\Log.txt

但是,日志中只有以下命令的输出:

代码语言:javascript
运行
复制
0 File(s) copied
0 File(s) copied
0 File(s) copied
Does Y:\hcri001\2d\545392db-50fa-40d9-aaa2-0892ca5057f3 specify a file name
or directory name on the target
(F = file, D = directory)? F
Z:\hcri001\2d\545392db-50fa-40d9-aaa2-0892ca5057f3
1 File(s) copied

有没有办法同时执行命令和输出?另外,有没有什么可以放在行首的计数器?

我的理想日志文件应该是这样的:

代码语言:javascript
运行
复制
    1) C:\Desktop>echo F   | xcopy /i /d "Z:\hcri001\a7\
    00a62a73-d7a7-4cfb-b55c-457bc67b3647" "Y:\hcri001\a7\00a62a73-d7a7-4cfb-b55c
    -457bc67b3647"  1>>"D:\Robocopy\AtlusPatient131172CopyLog.txt 
    0 File(s) copied
    2)    C:\Desktop>echo F   | xcopy /i /d "Z:\hcri001\d5\
    003452354-d7a7-4cfb-452c-457bc67b3647" "Y:\hcri001\d5\003452354-d7a7-4cfb-452c-457bc67b3647"  1>>"D:\Robocopy\AtlusPatient131172CopyLog.txt 
    0 File(s) copied
    3)   C:\Desktop>echo F   | xcopy /i /d "Z:\hcri001\2d\545392db-50fa-40d9-aaa2-0892ca5057f3" "Y:\hcri001\2d\545392db-50fa-40d9-aaa2-0892ca5057f3"  1>>"D:\Robocopy\AtlusPatient131172CopyLog.txt 
Does Y:\hcri001\2d\545392db-50fa-40d9-aaa2-0892ca5057f3 specify a file name
        or directory name on the target
        (F = file, D = directory)? F
        Z:\hcri001\2d\545392db-50fa-40d9-aaa2-0892ca5057f3
        1 File(s) copied

如果命令可以调整为只包含文件名,而不是整个命令,即1) "Z:\hcri001\2d\545392db-50fa-40d9-aaa2-0892ca5057f3" 0 File(s) copied,则可以获得加分

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-27 13:32:06

代码语言:javascript
运行
复制
for /f "delims=, tokens=1,2,3" %i in (D:\foo.csv) do (
  echo xcopy /i /d "Z:\%i\%j\%k" "Y:\%i\%j\%k" >> "D:\xcopy\Log.txt"
  echo f | xcopy /i /d "Z:\%i\%j\%k" "Y:\%i\%j\%k" >> "D:\xcopy\Log.txt"
)

对于计数器,您需要SETLOCAL ENABLEEXTENSIONS,然后是set counter=1,并且在循环set /a counter=!counter! + 1

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4805699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档