![]() |
Украинская "і" и скрытые файлы
Как произвести действие (например attrib -r -s -h) над всеми файлами и папками, которые имеют любой из таких атрибутов: скрытый, системный, только для чтения. Среди них есть папки и файлы с украинской буквой і.
Пробовал код: Код:
for /f "delims=" %%a in ('dir /b /a *.*') do (attrib -s -h -r "%%~sna" >nul) А когда я ввожу ключ /ashr, выдается все, что имеет все эти атрибуты одновременно, файлы имеющие только один из этих атрибутов опускаются. 2) Объясните, пожалуйста, что такое ~sn ? и каким образом "істина" и "6C78~1", получаемое этим ключем, означают одну и ту же папку (что это за вариант 8.3 стандарта) ? |
Цитата:
Код:
for /? Цитата:
Цитата:
|
Спасибо, почитаю. Остается вопрос: как совместить эти 6 команд в одну:
Код:
for /f "delims=" %%a in ('dir /b /asd') do (attrib -s -h -r "%%~sna" >nul) |
1. А есть ли какой-либо смысл делать отбор по атрибутам, коль Вы их и так сбрасываете? Просто снимайте эти атрибуты для всех папок/файлов, только и всего.
2. Мне не понятны эти игры с короткими именами. У меня «attrib.exe» отработал с приведённым Вами выше именем «істина» без каких-либо проблем. |
Цитата:
Цитата:
А теперь попробуйте создать скрытую системную папку с именем "Книжная серия Прочесть обязательно і" и применить этот код без ключа ~sn: Код:
for /f "delims=" %%a in ('dir /b /a') do (attrib -s -h -r "%%a" >nul) |
Diskretor, ряд вопросов:
1. Вам действительно надо сие проделывать для содержимого одной папки, без вложенных? Или потом обработка вложенных папок понадобится? 2. Использование какого-либо стороннего средства допустимо по условиям задачи? Цитата:
Код:
@echo off |
Цитата:
Цитата:
(все остальные варианты чисто ради образовательных для меня целей - мне было бы очень интересно. Благодарю). Код - ок, попробую, разберу, отпишусь. |
Оригинально - нужно было всего лишь сменить раскладку "chcp". Все сработало идеально. Вопрос закрыт.
Только убрал лишний код: Код:
setlocal enableextensions enabledelayedexpansion |
Цитата:
Цитата:
Код:
Option Explicit Цитата:
Например, поставленная выше задача отбора может выглядеть так: Код:
"C:\Program Files\Log Parser 2.2\LogParser.exe" "SELECT Path USING Attributes AS Attr FROM E:\Песочница\0101\*.* WHERE Attr LIKE '__S______' OR Attr LIKE '___H_____' OR Attr LIKE '____R____'" -i:FS -q:ON -oCodepage:1251 -recurse:0 Код:
"C:\Program Files\Log Parser 2.2\LogParser.exe" "SELECT Path USING STRCNT(REPLACE_CHR(Attributes, 'SHR', '*'), '*') AS AnyAttrOfSHR FROM E:\Песочница\0101\*.* WHERE AnyAttrOfSHR > 0" -i:FS -q:ON -oCodepage:1251 -recurse:0 |
Время: 00:58. |
Время: 00:58.
© OSzone.net 2001-