首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何保护文件

如何保护文件
EN

Stack Overflow用户
提问于 2011-05-11 16:25:25
回答 1查看 802关注 0票数 0

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

但在我的C#程序中,我想打开该文件,但似乎找不到该文件,因为它已经被bat文件隐藏了(if (File.Exists(ls_Path))返回false)。

它是否与我的bat文件有关?

我测试了正常的hide at window,我的程序仍然可以从路径中读出。

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2011-05-24 04:02:22

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

而不是:

代码语言:javascript
复制
    If objFSO.FileExists(someFileVariable) Then _
Set objTESTfile = objFSO.OpenTextFile(someFileVariable, ForReading, True, TristateFalse)

您将拥有:

代码语言:javascript
复制
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
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5961311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档