在批处理文件中显示复制过程的错误消息

问题描述

我需要一些帮助来显示我的复印批处理中的错误消息。我有以下脚本。 现在,我希望该批处理向我显示计算机的名称,复制过程成功的地方以及不成功的名称。 computer_names.txt在每一行中包含writenn向下的名称,例如 \\ pc_name1

@echo off

call :isAdmin

if %errorlevel% == 0 (
goto :run
) else (
echo Requesting administrative privileges...
goto :UACPrompt
)

exit /b

:isAdmin
fsutil dirty query %systemdrive% >nul
exit /b

:run


set frompath= "\\server01\path01\file01.txt"
for /f "eol= tokens=1" %%i in (\\server01\path01\computer_names.txt) do copy /v /y %frompath% "%%i\server02\path02"



exit /b

:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "cmd.exe","/c %~s0 %~1","","runas",1 >> "%temp%\getadmin.vbs"

"%temp%\getadmin.vbs"
 del "%temp%\getadmin.vbs"
exit /B`

解决方法

您可以像这样或多或少地使用errorlevel(在移动设备上,因此无法测试)

for /f "eol= tokens=1" %%i in (\\server01\path01\computer_names.txt) do (
    copy /v /y %frompath% "%%i\server02\path02"
    if not errorlevel 1 (
         echo %%i Success
    ) else (
         echo %%i Failed
 )
)