Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Не работает CMD/BAT для удаления файлов на дисках в Windows XP (http://forum.oszone.net/showthread.php?t=327323)

i_965 04-06-2017 11:44 2741963

Не работает CMD/BAT для удаления файлов на дисках в Windows XP
 
Добрый день
Создал 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 2741968

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

i_965 04-06-2017 12:04 2741974

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

Iska 04-06-2017 12:39 2741986

И удаление по маске может привнести ряд очень интересных моментов :).

Попробуйте так (не проверялось):
Код:

@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 2741989

Спасибо
Попробую

Iska 04-06-2017 12:46 2741990

Но вообще я бы был поаккуратнее. Ибо у меня под указанную маску попали файлы из профиля 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 2741992

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

Iska 04-06-2017 12:56 2741994

i_965, упакуйте полученный лог-файл в архив и прикрепите к сообщению.

i_965 04-06-2017 12:57 2741995

*.dc* -файлы деклараций
Кроме Windows XP и Office ни какого ПО не установлено

alpap 04-06-2017 12:59 2741997

i_965,
так и не было озвучено, пробовалось ли это
Цитата:

Цитата alpap
-сохранить код в кодировке 866 »


i_965 04-06-2017 13:00 2741998

В log.txt "файл.. - не удален".Соответственно они остаются на рабочем столе.

Да 866

Iska 04-06-2017 13:03 2742000

Цитата:

Цитата i_965
В log.txt "файл.. - не удален".Соответственно они остаются на рабочем столе. »

i_965, что неясно из написанного мною? Я не просил ничего переписывать из лога, я просил упаковать файл в архив и приложить к сообщению.

i_965 04-06-2017 13:06 2742002

Пробовал с 866 код. страницей,не работает.Под управлением Windows 7 все нормально работает!

ПК на работе

megaloman 04-06-2017 13:33 2742010

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 2742031

Я понимаю. что можно добавить доп. параметры в for , но и без параметров не работает?? Почему именно в XP ??

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

i_965 04-06-2017 15:25 2742046

Как правильно прописать в bat файле доступ к папке профилей (C:\Documents and Settings) для поиска файлов для удаления в XP
Спасибо


Время: 22:37.

Время: 22:37.
© OSzone.net 2001-