Войти

Показать полную графическую версию : [решено] по IF подскажите


viper69
22-11-2011, 16:37
Вот такая штука получается. Нужно: смотрим папки, если там есть файлы (всякие) - копируем в другую папку и отправляем сообщение net send ...
>
if /i exist %D_FROM%\*.* (
xcopy /y/e/q/r %D_FROM\*.* %D_TO%\*.* && ^
ping -n 1 %adr% && net send %adr% SOOB && ^
del /q /s /f "%D_FROM%\*.*
)
>
Всё замечательно, когда папка непустая. А в пустой папке if exist ловит . и .. и всё равно срабатывает - пытается копировать и шлёт сообщение.
Как бы это победить в батничке (использование бата принципиально)
Подскажите кто чем может

El Sanchez
22-11-2011, 18:25
viper69,

dir /b "%D_FROM%\*.*" 2>nul|findstr . >nul && (^
xcopy /y/e/q/r "%D_FROM%\*.*" "%D_TO%\*.*" && ^
ping -n 1 %adr% && net send %adr% SOOB && ^
del /q /s /f "%D_FROM%\*.*")

viper69
22-11-2011, 19:51
Во блин, шаблонность мышления - а я все иф да фор мучаюб а туттак легко и просто. Век живи - век учись...
Санчес, cпасибо большое - выручил здорово!

megaloman
22-11-2011, 23:21
Иф да фор тоже можно FOR /F "usebackq tokens=2 delims=:" %%n IN (`xcopy /y /e /q /r "%D_FROM%\*.*" "%D_TO%\*.*"`) DO (
If Not "%%n"==" 0." (
del /q /s /f "%D_FROM%\*.*"
Ping ...
)
)




© OSzone.net 2001-2012