File 如何保护文件

File 如何保护文件,file,batch-file,vbscript,File,Batch File,Vbscript,我正在使用bat文件来保护一些文件。它要求用户输入密码以使文件夹可见 但是在我的C#程序中,我想打开该文件,但它似乎找不到该文件,因为它已被bat文件隐藏(if(file.Exists(ls#u Path))返回false) 它与我的bat文件有关吗 我在正常的隐藏窗口中测试,我的程序仍然能够读取路径 cls @ECHO OFF title Folder Locker if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"

我正在使用
bat
文件来保护一些文件。它要求用户输入密码以使文件夹可见

但是在我的C#程序中,我想打开该文件,但它似乎找不到该文件,因为它已被
bat
文件隐藏(
if(file.Exists(ls#u Path))
返回false)

它与我的
bat
文件有关吗

我在正常的隐藏窗口中测试,我的程序仍然能够读取路径

cls
@ECHO OFF
title Folder Locker
if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto UNLOCK
if NOT EXIST Locker goto MDLOCKER
:CONFIRM
echo Are you sure u 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 folder
set/p "pass=>"
if NOT %pass%==123 goto FAIL
attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" Locker
echo Folder Unlocked successfully
goto End
:FAIL
echo Invalid password
goto end
:MDLOCKER
md Locker
echo Locker created successfully
goto End
:End

使用VBScript,不要检查文件是否存在,只需尝试打开它并使用错误陷阱即可。我对batch不太熟悉,但我怀疑您可以使用类似的技术

而不是:

    If objFSO.FileExists(someFileVariable) Then _
Set objTESTfile = objFSO.OpenTextFile(someFileVariable, ForReading, True, TristateFalse)
你应该:

On Error Resume Next
Set objTESTfile = objFSO.OpenTextFile(someFileVariable, ForReading, True, TristateFalse)
If Err.Number= 0 Then
    ' opened ok, do stuff
Else
    ' failed, do something else
End If