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

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

RomanLis 01-06-2012 16:50 1926197

Нужно переписать скрипт - сделать скрытые папки видимыми
 
Здравствуйте! Имею такой скрипт, достал не помню где, он делает скрытые папки видимыми. Можно ли его так переписать, чтобы он действовал на все файлы и папки в данной папке и во всех подпапках и подпапках подпапок?

for /F "tokens=*" %%i in ('dir /a:hs /b') do attrib -h -s "%%i"

Спасибо!

megaloman 01-06-2012 17:00 1926208

Вот решение, ранее представленное решение зачеркнул, оно ненадёжно, из за того, что dir /a:hs корректно не отрабатывает для указанных атрибутов
Код:

ATTRIB -H -S /s /d *.*
читать дальше »
Код:

@Echo Off
FOR /F "usebackq delims=" %%i IN (`dir /a:hs /b /S`) DO attrib -h -s "%%i"

Смысл ключей команды Dir смотрим по команде dir /? набранной в командном окне

RomanLis 01-06-2012 17:02 1926211

Не работает, причём ни папки, ни файлы не открывает.

Проверил и на рабочем столе с ярлыком, и с папкой в program files. Ничего не изменилось после запуска, причём делал всё от имени администратора.

megaloman 01-06-2012 20:48 1926315

Извините, но вы меня обманули :biggrin: -Ваш скрипт у меня не работает, а я Вам поверил и добавил только один ключ. Ответ исправил (см. выше), проверил, у меня он работает. естественно, если это не строка в командном окне, а строка в батнике.

yurfed 01-06-2012 20:59 1926322

Цитата:

Цитата megaloman
Извините, но вы меня обманули »

Не благодарное это дело править корявые скрипты.
Не обращай внимания.

megaloman 01-06-2012 21:11 1926328

yurfed, Однако! На одной машине (Win7) скрипт RomanLis работает, а на другой (Win XP) не хочет. Так что, оказывается, не всё очевидно ... Я не совсем прав :(

yurfed 01-06-2012 21:22 1926336

Цитата:

Цитата megaloman
На одной машине (Win7) скрипт RomanLis работает, а на другой (Win XP) не хочет. »

Ну если он не хочет, то он что то, да напишет в своё оправдание. С библиотеками всё в порядке?

megaloman 01-06-2012 21:35 1926341

yurfed, Пока не понял, в чем дело. Но зато выяснил, что конструкция dir /a:hs /b неработоспособна, она не видит все файлы. И вообще, в предложенной задаче никакого смысла нет для использования for. Если обрабатываются все вложенные папки и подпапки и файлы в них в директории, где батник, хватит одной простой команды

ATTRIB -H -S /s /d *.*

Еще раз убедился, не лезь в чужой код, пиши свой.

Iska 02-06-2012 05:40 1926519

Цитата:

Цитата megaloman
Но зато выяснил, что конструкция dir /a:hs /b неработоспособна, она не видит все файлы. »

megaloman, а так:
Код:

dir /a /s /b
?

RomanLis 02-06-2012 10:31 1926585

Спасибо :)

Я вначале сказал, что ничего об этом коде не знаю, так что извините)

megaloman 02-06-2012 11:03 1926595

Iska, Насколько я понимаю, идея dir /a:hs была в том, чтобы отобразить файлы с атрибутами как h так и s, и никакие иные.
На диске C: проделал:
dir /a:h /s получил 563 файла
dir /a:s /s получил 566 файла
dir /a:hs /s получил 261 файла
dir /a:sh /s получил 261 файла
То есть изначально идея была неверна
dir /a - выдаст все файлы, невзирая на атрибуты

Iska 02-06-2012 17:02 1926752

Цитата:

Цитата megaloman
Iska, Насколько я понимаю, идея dir /a:hs была в том, чтобы отобразить файлы с атрибутами как h так и s, и никакие иные. »

Осознал.


Время: 19:29.

Время: 19:29.
© OSzone.net 2001-