问题描述
我需要一些帮助来显示我的复印批处理中的错误消息。我有以下脚本。 现在,我希望该批处理向我显示计算机的名称,复制过程成功的地方以及不成功的名称。 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
)
)