
Я пытаюсь скрыть папку с помощью пакетного файла, используя команду attrib, и я также хочу отобразить файл с помощью того же пакетного файла. Могу ли я сделать это как один пакетный файл? Или мне нужно вызвать другой, и какие команды мне использовать, чтобы это стало возможным. Спасибо
До сих пор у меня есть
attrib +h +s Foldername
и
attrib -h -s Foldername
Но это не работает, потому что как только я его отображаю, он снова скрывается.
решение1
@echo off
Set /P Answer=Do you wish to hide File (Y/N)?
if /I {%ANSWER%}=={y} (goto :yes)
if /I {%ANSWER%}=={Y} (goto :yes)
if /I {%ANSWER%}=={n} (goto :no)
if /I {%ANSWER%}=={N} (goto :no)
:yes
attrib +h Foldername
pause
exit
:no
attrib -h Foldername
pause
exit
Этот пакетный файл сделает так, что если вы выберете Y для ответа «да», файл будет скрыт, а если вы выберете N для ответа «нет», файл будет показан. Оригинальный пакетный файл.
решение2
Я пробовал этот способ:-
attrib +h +s tempFolder
pause
attrib -h -s tempFolder
pause
С помощью этого пакетного файла я могу видеть, как папка скрывается и отображается соответствующим образом.
решение3
Должно сработать что-то вроде этого:
Set _Path=C:\foldername
For /F "Delims=" %%I In ('Attrib "%_Path%"') Do Set _Attribs=%%I
If "%_Attribs:~4,1%"=="H" (
Attrib -S -H "%_Path%"
Attrib /D /S -S -H "%_Path%"\*.*
) Else (
Attrib +S +H "%_Path%"
Attrib /D /S +S +H "%_Path%"\*.*
)
Получил это с techguys.org
решение4
cls
/@echo off
/title Folder Locker
/IF EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" GOTO UNLOCK
/IF NOT EXIST Locker GOTO MDLOCKER
/echo Folder Created.
/:CONFIRM
/echo Are you sure you want to lock the folder? (Y/N)
/set/p "cho="
/IF %cho%==Y GOTO LOCK
/IF %cho%==y GOTO LOCK
/IF %cho%==N GOTO END
/IF %cho%==n GOTO END
/echo Invalid Choice.
/GOTO CONFIRM
/:LOCK
/ren Locker "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
/attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
/echo Folder Locked.
/GOTO END
/:UNLOCK
/echo Enter password to unlock the Folder :
/set/p "pass="
/IF NOT %pass% == YourPassword GOTO FAIL
/attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
/ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" LOCK
/echo Folder Unlocked Successfully.
/GOTO END
/:FAIL
/echo Invalid Password!
/GOTO END
/:MDLOCKER
/md Locker
/echo Folder created.
/GOTO END
/:END
/PAUSE
!!!!!ВАЖНО!!!!
ГДЕ НАПИСАНО ЕСЛИ НЕ %pass% == YourPassword ИДЕТ К ОТКАЗУ ИЗМЕНИТЕ ВАШПАРОЛЬ НА ТО, КАКОЙ ВЫ ХОТИТЕ, ЧТОБЫ ВАШ ПАРОЛЬ БЫЛ. Там, где я поставил "/", указывается нажатие Enter