2015-09-10 66 views
0

我想連接到網絡驅動器,複製文件並將其移動到另一個位置,並記錄它是否成功。這是我到目前爲止:複製文件到映射的驅動器不工作

@echo off 
@setlocal enableextensions enabledelayedexpansion 

if exist Transfer_logfile.txt (
    ECHO Y | del Transfer_logfile.txt 
) 

set LogFile=_logfile.txt 
set logg=^> _^&^& type _^&^&type _^>^>%LogFile% 


for /F "tokens=*" %%A in (ipaddresses.txt) do (

    net use \\%%A\c$\test /USER:test %logg% 
    echo copying files across to %%A... %logg% 
    COPY -f -R -Y C:\test\test.exe \\%%A\c$\test\test.exe %logg% 
    echo Copy completed.. %logg% 
    net use \\%%A\c$\test /delete /Y %logg% 
) 

pause 

任何幫助如何完成這一點將不勝感激。

我努力保存輸出中的任何錯誤。如果出現錯誤,我希望它只保存輸出失敗,並繼續到IP地址文本文件中的下一個IP。

我想,我需要先把ip地址ping一下,然後用ip包回答一下。但是這不起作用。

@echo off 
@setlocal enableextensions enabledelayedexpansion 

if exist Transfer_logfile.txt (
    ECHO Y | del Transfer_logfile.txt 
) 

set LogFile=_logfile.txt 
set logg=^> _^&^& type _^&^&type _^>^>%LogFile% 

for /F "tokens=*" %%A in (ipaddresses.txt) do (

ping -n %%A > NUL 
IF ERRORLEVEL 0 (
    echo 
ELSE goto :skipcopyhost1 
net use \\%%A\c$\test %logg% 
echo copying files across to %%A... %logg% 

COPY -f -R -Y C:\test\test.exe \\%%A\c$\test\test.exe %logg% 
echo Copy completed.. %logg% 

net use \\%%A\c$\test /delete /Y %logg% 
) 

pause 
+0

你期望logg的內容代表什麼?此外,您的複製標誌不是窗口。 – ths

回答

0

試試這個沒有經過測試批號:

@echo off 
if not exist ipaddresses.txt goto :EOF 
setlocal 
del /F Transfer_logfile.txt 2>nul 
set "LogFile=Transfer_logfile.txt" 

for /F %%A in (ipaddresses.txt) do (
    %SystemRoot%\System32\ping.exe -n %%A >nul 
    if errorlevel 1 (
     echo %%A is not available in network.>>%LogFile% 
    ) else (
     echo Connecting to %%A ...>>%LogFile% 
     %SystemRoot%\System32\net.exe use X: \\%%A\c$\test /persistent:no /Y 2>&1 >>%LogFile% 
     echo Copying file to %%A ...>>%LogFile% 
     copy /B /V /Y C:\test\test.exe X:\test.exe 2>&1 >>%LogFile% 
     echo Disconnecting from %%A ...>>%LogFile% 
     %SystemRoot%\System32\net.exe use X: /delete /Y 2>&1 >>%LogFile% 
    ) 
    echo.>>%LogFile% 
) 
endlocal 
pause 

對於理解使用的命令以及它們如何工作,打開命令提示符窗口中,執行有下面的命令,並閱讀完全顯示所有幫助頁面爲每個命令非常仔細。

  • copy /?
  • del /?
  • for /?
  • goto /?
  • if /?
  • net /?
  • net use /?
  • set /?

而且閱讀Microsoft文章:

我不解釋你的代碼中的所有錯誤,因爲他們太多。

相關問題