用批处理能否实现保护某个文件?

来源:百度知道 编辑:UC知道 时间:2024/05/05 18:29:24
比如说在D盘下的aa文件夹内有11.txt和22.txt两个文件。

可不可以用批处理写上一段在aa这个文件夹内不能在有其他的文件,当用户想保存其他文件进去的化自动删除。

同时也不能删除11.txt和22.txt这两个文件。

批处理能不能做到这些呢??

上面只是举例提问。
三楼用的是权限手法,修改文件夹权限,改成只读。

但我要的是可以写入,但我的批处理进程会直接删除掉。

批处理做不到的话,请问有没有会AU3的~请给代码!

本人分数不多,抱歉,只有这么点。

设置权限是一个好方法,但是提醒应该给可以使用的文件相应的权限。

下面是另一个方法,每隔30秒检查这个文件夹,如果有不允许保存的文件,则执行删除动作。这个批处理的缺点就是批处理一直需要保持运行状态,会占用一定的CPU和内存,如果需要关闭,必须使用任务提示行关闭掉cmd进程。以下是代码:

@echo off

REM 隐藏窗口的代码
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin

REM 在这里定义允许保存的文件名称(包括扩展名),以扩展名分割,例如"11.txt 22.txt"
set filename=11.txt 22.txt %~nx0
for /f "delims=;" %%i in ('dir /b ^|findstr /v /i "%filename%"') do del /f /q "%%i"

REM 延时
ping -n 31 127.t >nul 2>nul
%0

批处理可以办到,命令:

cacls d:\aa /t /g everyone:r

(有个前提,你D盘必须是ntfs格式)

建立一个别人不能删的文件夹

第一步:在运行中输入cmd,回车,打开命令行窗口

输入MD d:\123..\回车,注意文件夹名后有2个小数点。(这里的d:\是D盘的意思,如果是E盘什么的就换E)

OK,搞定,看看你的D盘下面是不是多了一个名为123.的文件夹了?它是既不能进入又不能被删除的!不信你就试试看吧

那么,如果自己想删除或者进入这个文件夹,又