Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2016, 15:02   #1
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию BAT-файл. Удаление файлов.

Доброго времени суток.
Написал небольшой бантик, и он выкинул странную вещь.
Код:
@echo off
chcp 1251
echo Start %time% 	>>	log.txt

ATTRIB -S -H /S /D 	>>	log.txt
DEL /f /s /q ~*.*	>>	log.txt

echo Stop %time%  	>>	log.txt
Нужно удалить все файлы в каталоге/подкаталогах которые начинаются с тильды.
Результат:
Код:
Start 14:56:03,02 	
Удален файл - C:\Do\12\Копия Точе~чный рисунок.bmp
Удален файл - C:\Do\12\~Документ Microsoft Word.docx
Удален файл - C:\Do\12\~Копия (2) Точечный рисунок.bmp
Удален файл - C:\Do\12\~Копия (3) Документ Microsoft Word.docx
Удален файл - C:\Do\12\~Копия (4) Точечный рисунок.bmp
Удален файл - C:\Do\12\~Копия Архив ZIP - WinRAR.zip
Удален файл - C:\Do\12\~Копия Док~умент Microsoft W~ord.docx
Удален файл - C:\Do\12\Новая папка\Копия Точе~чный рисунок.bmp
Удален файл - C:\Do\12\Новая папка\~Документ Microsoft Word.docx
Удален файл - C:\Do\12\Новая папка\~Копия (2) Точечный рисунок.bmp
Удален файл - C:\Do\12\Новая папка\~Копия (3) Документ Microsoft Word.docx
Удален файл - C:\Do\12\Новая папка\~Копия (4) Точечный рисунок.bmp
Удален файл - C:\Do\12\Новая папка\~Копия Архив ZIP - WinRAR.zip
Удален файл - C:\Do\12\Новая папка\~Копия Док~умент Microsoft W~ord.docx
Stop 14:56:03,22
Непонятно печему он удаляет файл Копия Точе~чный рисунок.bmp
Как можно задать конкретно, что первый символ в названии файла должен быть тильдой.
Другие файлы с тильдой по центру названия он как и должно, не трогает.
Artsiom вне форума Ответить с цитированием
Старый 27.10.2016, 15:44   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

есть такая проблема.
подозреваю, что связана она с тем, что
короткое имя для "Копия Точе~чный рисунок.bmp" это ~7F76~1.BMP

если, например, переименовать файл в
Копия2 Точе~чный рисунок.bmp
то короткое имя изменится на 2~D93D~1.BMP
и файл уже не будет попадать под маску ~*.*

а вот как с этим бороться - не знаю.

а ещё такое имя получают имена, заканчивающие на ~
например, Код~.txt

может быть, просто не стоит использовать ~ в именах файлов?!

Последний раз редактировалось Serge_Bliznykov; 27.10.2016 в 15:49.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.10.2016, 16:07   #3
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию

Так это ж не я, а люди.

Спасибо.
Artsiom вне форума Ответить с цитированием
Старый 27.10.2016, 16:33   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

я в батниках разбираюсь, как чукча в апельсинах, но, если стоит задача удалять файлы, у которых тильдочка строго в начале имени (а что потом - уже не важно),
то попробуйте такой батничек:

Код:
@Echo Off

Setlocal EnableDelayedExpansion

Set FDir="."
Set Maska="~*"

FOR /R %FDir% %%i IN (%Maska%) DO Call :Obrabotka "%%i" "%%~ni" 
GoTo :EOF 

:Obrabotka
set str=%2
set str=%str:~1,1%
echo.%str%:first
IF "%str%" NEQ "~" GOTO :Next
DEL /f /q %1 
echo Удален файл - %1 >> log.txt
rem echo "Delete file ".%1
:Next
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удаление пользователя .bat Vilkas Помощь студентам 1 08.04.2015 06:43
надо переписать под bat-файл(файл был взят с Mac) lakrya25 Помощь студентам 6 21.01.2015 14:52
написать bat файл для обработки папки - перемещения нужных файлов (учебная задача) Наталья1991 Помощь студентам 9 16.05.2012 02:18
написать bat файл, удаление файлов Юлясик Помощь студентам 1 06.03.2012 22:38
bat удаление строк из файла gamer123 Помощь студентам 0 06.06.2010 17:31