剧本:
pushd "\\server1\share\Data\"
for %%p in (*.pdf) do if /i ".pdf"=="%%~xp" for /f "tokens=1 delims=_" %%n in ("%%~np") do (
copy "%%~fp" ""\\server2share\data\%%~n\%%~nxp" dir >> \\server\share\logfile.txt
)每次该命令运行时,我都要记录输出。这个脚本根据名字复制pdf。但当我运行剧本的时候。没有创建日志文件。
发布于 2014-03-12 09:35:53
编辑以适应评论
pushd "\\server1\share\Data\"
set "logFile=\\server\share\logfile.txt"
for %%p in (*.pdf) do if /i ".pdf"=="%%~xp" for /f "tokens=1 delims=_" %%n in ("%%~np") do (
if not exist ""\\server2share\data\%%~n\" (
>>"%logFile%" echo SKIPPED : "%%~nxp"
) else (
copy "%%~fp" "\\server2share\data\%%~n\%%~nxp"
if errorlevel 1 (
>>"%logFile%" echo FAILED : "%%~nxp"
) else (
>>"%logFile%" echo COPIED : "%%~nxp"
)
)
)
popd您在一个陌生的地方有一个dir命令,更改为echo。我不确定所有的路都是对的。
发布于 2014-03-13 00:13:08
这将创建一个在运行时显示在cmd屏幕上的日志,但是您将不会在屏幕上看到任何输出。如果还需要查看屏幕输出,则可以使用tee筛选器。
mybatch.bat>file.loghttps://stackoverflow.com/questions/22346364
复制相似问题