2

您好所有社区成员,我目前正在使用一个简单的批处理脚本将 SkyDrive 挂载为网络驱动器,将文件复制到其中,最后断开连接。我将其用作异地备份的基本形式。

@echo off
echo Backing up to Skydrive
net use Z: \\https://d.docs.live.net/XXXX Password /user:Username
copy D:\Home\Data\file1.ext Z:\
copy D:\Home\Data\file2.ext Z:\Documents
net use Z: /delete

我要添加到此脚本中的是错误日志记录。命令一个接一个地运行,如果一个或多个命令失败,我想创建一个错误日志。我想我需要使用 ERRORLEVEL 命令,但我不知道如何使用和实现它来实现我的目标。

我会很感激任何意见。感谢您的时间和关注。

4

1 回答 1

0

您可以重定向 stderr 以查找命令在执行时吐出的任何错误

@echo off
echo Backing up to Skydrive
net use Z: \\https://d.docs.live.net/XXXX Password /user:Username 2>>log.txt
copy D:\Home\Data\file1.ext Z:\ 2>>log.txt
copy D:\Home\Data\file2.ext Z:\Documents 2>>log.txt
net use Z: /delete 2>>log.txt
for %%a in (log.txt) do if not %%~za gtr 0 del %%a /f /q

显然你只输出那些实际上可以给出错误的:)

于 2012-12-13T12:34:27.237 回答