Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] показать\скрыть расширения файлов в одном батнике?

Ответить
Настройки темы
CMD/BAT - [решено] показать\скрыть расширения файлов в одном батнике?

Пользователь


Сообщения: 90
Благодарности: 2

Профиль | Цитировать


Есть два батника:

::показать расширения файлов
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t REG_DWORD /d 00000000 /f

::скрыть расширения файлов
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t REG_DWORD /d 00000001 /f

Вопрос: возможно ли объединить два батника в один, т.е. при клике на нем, батник будет показывать расширения если они скрыты и будет скрывать расширения если они отображаются?

Отправлено: 19:25, 18-02-2011

 

Аватара для seriych

Старожил


Сообщения: 182
Благодарности: 42

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"^|Find "HideFileExt"`) Do set /a key=%%J

if %key%==0 (
	reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t REG_DWORD /d 00000001 /f
) else (
	reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t REG_DWORD /d 00000000 /f
)

-------
* Книгой можно не только стаканчик с лапшой накрывать. ©

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:12, 18-02-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 415
Благодарности: 257

Профиль | Отправить PM | Цитировать


Держи, как ты и хотел, скрипт сначала смотрит, скрыты или отображаются расширения, а потом добавляет нужное значение в реестр.
Код: Выделить весь код
@Echo Off
Rem Получить текущее значение и изменить его
Reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt|Find "DWORD">query
For /F "tokens=1,2,3*" %%d In (query) Do Set isHidden=%%f&Del query
If "%isHidden%"=="0x0" (GoTo Hide) Else (GoTo Show)

Rem показать расширения файлов
:Show
Reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t REG_DWORD /d 00000000 /f
Exit
Rem скрыть расширения файлов
:Hide
Reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t REG_DWORD /d 00000001 /f
Exit
Не заметил, что уже выше seriych отписал, его вариант короче и лучше моего.
super_bitard, ты вишмастер на .bat что ли делаешь?
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:17, 18-02-2011 | #3


Ветеран


Сообщения: 1001
Благодарности: 226

Профиль | Отправить PM | Цитировать


Вот скрипт на VBS
Код: Выделить весь код
Const HKEY_CURRENT_USER = &H80000001
strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
 
strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"
strValueName = "HideFileExt"
oReg.GetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName,dwValue

If dwValue = 0 Then 
	dwValue = 1
	oReg.SetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName,dwValue
	Else
	dwValue = 0
	oReg.SetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName,dwValue
End If
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:21, 18-02-2011 | #4


Пользователь


Сообщения: 90
Благодарности: 2

Профиль | Цитировать


два последних - отличные скрипты, сразу скопировал и работают,

со скриптом от seriycha что-то не разобрался, выдает:

"_default.pifreg" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

Отправлено: 04:09, 19-02-2011 | #5


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


до кучи:
Код: Выделить весь код
set "$0x0=00000001"& set "$0x1=00000000"& set "$R=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"
for /f "tokens=3" %%a in ('reg query "%$R%" /v HideFileExt^|Find "REG_DWORD"') do call reg add "%$R%" /v HideFileExt /t REG_DWORD /d %%$%%a%% /f

Последний раз редактировалось amel27, 19-02-2011 в 09:00.

Это сообщение посчитали полезным следующие участники:

Отправлено: 07:33, 19-02-2011 | #6


Старожил


Сообщения: 175
Благодарности: 119

Профиль | Отправить PM | Цитировать


Ну тогда и мне позвольте для коллекции:
Код: Выделить весь код
@echo off
set "Key="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt"
reg query %Key%|find "0x1"
reg add %Key% /t REG_DWORD /d %errorlevel% /f
Теперь уже точно на все вкусы есть решение.

Ivan Bardeen, не сочтите за критику. Так для памяти. Вместо такой конструкции:
Код: Выделить весь код
If dwValue = 0 Then 
	dwValue = 1
	oReg.SetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName,dwValue
	Else
	dwValue = 0
	oReg.SetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName,dwValue
End If
Можно использовать в данном случае такую:
Код: Выделить весь код
oReg.SetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName,dwValue Xor 1

Последний раз редактировалось SendMessage, 19-02-2011 в 10:43.

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:19, 19-02-2011 | #7


Аватара для seriych

Старожил


Сообщения: 182
Благодарности: 42

Профиль | Отправить PM | Цитировать


Что-то не понял, что у меня неправильно, ибо у меня работает
Ну да ладно, благо есть из чего выбрать.

amel27,
Красиво

-------
* Книгой можно не только стаканчик с лапшой накрывать. ©


Отправлено: 12:50, 19-02-2011 | #8


Пользователь


Сообщения: 90
Благодарности: 2

Профиль | Цитировать


Ok
Ok

Последний раз редактировалось super_bitard, 18-03-2011 в 17:07.


Отправлено: 18:26, 19-02-2011 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] показать\скрыть расширения файлов в одном батнике?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Изменение расширения файлов. TDK Microsoft Windows 2000/XP 2 22-10-2010 04:21
CMD/BAT - [решено] реализация tasklist и taskkill в одном батнике с меню выбора andman84 Скриптовые языки администрирования Windows 2 08-04-2010 19:26
[решено] Javascript. Скрыть - показать картинки при помощи getElementsByName Igor_I Вебмастеру 14 26-12-2008 20:52
[решено] JavaScript. Скрыть/показать элемент по событию. System Failure Вебмастеру 12 20-07-2007 12:24
Расширения файлов badze Microsoft Windows 95/98/Me (архив) 7 10-01-2003 02:13




 
Переход