PDA

Показать полную графическую версию : Не работает CMD/BAT для удаления файлов на дисках в Windows XP


i_965
04-06-2017, 11:44
Добрый день
Создал bat файл для удаления определенных файлов на всех дисках в Windows XP
Не удаляются файлы в C:\Documents and Settings.Пишет, что система не может распознать путь к файлу.Что не так?
@Echo off
chcp 1251
set logpath=D:\distr\Proverka\log\log.txt
for /R C:\ %%i In (*.dc*) Do (
Del /q %%i
If Not Exist %%i (Echo %Time:~0,-3% ^> Файл %%i успешно удален.>> %logpath%)Else (Echo %Time:~0,-3% ^> Файл %%i не удален.>> %logpath%)
)
for /R D:\ %%i In (*.dc*) Do (
Del /q %%i
If Not Exist %%i (Echo %Time:~0,-3% ^> Файл %%i успешно удален.>> %logpath%)Else (Echo %Time:~0,-3% ^> Файл %%i не удален.>> %logpath%)
)
Спасибо

alpap
04-06-2017, 11:54
i_965,
попробуйте для начала:
-убрать строку: chcp 1251
-обрамить парными кавычками все %%i
-сохранить код в кодировке 866
___должно работать, хотя к вопросам удаления я бы подходил более метко и вплотную, не разгуливая по всему C:, как по Бродвею.

i_965
04-06-2017, 12:04
строку chcp 1251 убирал
в кавычки пробовал ставить
Не работает.
При обращении к C:\Documents and Settings."системе не удается найти указанный путь"
Файлы с данным расширением не должны присутствовать ни на одном диске!

Iska
04-06-2017, 12:39
И удаление по маске может привнести ряд очень интересных моментов :).

Попробуйте так (не проверялось):
@echo off
setlocal enableextensions enabledelayedexpansion

set sPath2Log=D:\distr\Proverka\log\log.txt

>"%sPath2Log%" (
for /f "usebackq delims=" %%i in (`2^>nul dir /b /a:-d /s "c:\*.dc*" "d:\*.dc*"`) do (
<nul set /p sVar=%time:~0,-3% ^> Файл [%%~i]
del /f /q "%%~i" && echo успешно удален. || echo не удален.
)
)

endlocal
exit /b 0

Можете заменить "c:\*.dc*" "d:\*.dc*" в dir /b /a:-d /s "c:\*.dc*" "d:\*.dc*" на какие-нибудь "c:\Sample\*.dc*" "d:\Sample\*.dc*" и предварительно потренироваться там.

i_965
04-06-2017, 12:43
Спасибо
Попробую

Iska
04-06-2017, 12:46
Но вообще я бы был поаккуратнее. Ибо у меня под указанную маску попали файлы из профиля Firefox, наподобие: 1491004093592.dc375ceb-f1a1-49ad-855b-67cee8a9fdf2.main.jsonlz4 и т.п., файл c:\Windows\ehome\CreateDisc\Pconfig.dcf, файлы c:\Windows\SysWOW64\Adobe\Shockwave 12\shockwave_Projector_Loader.dcr и c:\Windows\SysWOW64\Macromed\Shockwave 10\shockwave_Projector_Loader.dcr, файл Pconfig.dcf из каталога winsxs, а также куча файлов вида amd64_microsoft-windows-a..dcredentialprovider_31bf3856ad364e35_6.1.7601.17514_none_a030aa28d92cdba3.manifest из того же каталога.

i_965
04-06-2017, 12:53
Именно файлы не удаляются в папке профилей ( C:\Documents and Settings.)??На диске С, из головного каталога все удаляется ,как и на ВСЕМ диске D (пробовал от администратора ,все так-же)
Может быть в XP связано с кириллицей. Под управлением Windows 7 все нормально работает!

Iska
04-06-2017, 12:56
i_965, упакуйте полученный лог-файл в архив и прикрепите к сообщению.

i_965
04-06-2017, 12:57
*.dc* -файлы деклараций
Кроме Windows XP и Office ни какого ПО не установлено

alpap
04-06-2017, 12:59
i_965,
так и не было озвучено, пробовалось ли это
-сохранить код в кодировке 866 »

i_965
04-06-2017, 13:00
В log.txt "файл.. - не удален".Соответственно они остаются на рабочем столе.

Да 866

Iska
04-06-2017, 13:03
В log.txt "файл.. - не удален".Соответственно они остаются на рабочем столе. »
i_965, что неясно из написанного мною? Я не просил ничего переписывать из лога, я просил упаковать файл в архив и приложить к сообщению.

i_965
04-06-2017, 13:06
Пробовал с 866 код. страницей,не работает.Под управлением Windows 7 все нормально работает!

ПК на работе

megaloman
04-06-2017, 13:33
i_965, Возможно, проблема в атрибутах папки, файла - скрытые, системные, только для чтения. Не на чем попробовать, но ИМХО всё можно сделать проще даже без батника
del /F /S /A "C:\Удали это.*" >>"D:\log.txt"
Или так вот в батнике@Echo OFF
>>"D:\log.txt" (FOR /F "usebackq delims=" %%i IN (`del /F /S /A "C:\Удали это.*"`) DO Echo %Date% %Time% %%i)

А с Вашей маской я бы добавил /P - от греха подальше, чтобы не было больно за потерянные годы. :)

i_965
04-06-2017, 15:02
Я понимаю. что можно добавить доп. параметры в for , но и без параметров не работает?? Почему именно в XP ??

Почему с правами пользователя удаляются файлы в Win7?

i_965
04-06-2017, 15:25
Как правильно прописать в bat файле доступ к папке профилей (C:\Documents and Settings) для поиска файлов для удаления в XP
Спасибо




© OSzone.net 2001-2012