中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 05:50
47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » 帮忙修改 这个桌面清理批处理
可打印版本  1,193 / 5
第1楼 xiaoe888 发表于 2008-10-29 11:56
新手上路 发帖 1 积分 2
帮忙修改 这个桌面清理批处理
桌面我已经移出c盘了,我也不想通过组策略,或权限来限制大家(这是公用的电脑)在桌面建文件和文件夹,毕竟ie等都默认桌面为第一下载地址,这样比较方便。
我花了一下午,上网找了一些资料,自己攒了一个,我的目的是,大家自由的在桌面上建文件,我只是将除快捷方式以外的文件和文件夹(系统文件除外),一律移到一个指定文件夹。这可以用Windows自带的计划任务使其自动运行,自动清除桌面。


我第一次遍批文件,谢谢指教。



@echo off

echo 正在移动桌面文件,请稍等......

xcopy /e /r /h /i /k /y "D:\桌面\*.*" "D:\文件夹"

del /S /Q /A "D:\桌面\*.*"

dir "D:\桌面\" /ad /b /s |sort /r >>d:kill.txt

For /f %%i in (d:kill.txt) DO rd /s /q "%%i"

echo y|del d:kill.txt

echo 清除系统LJ完成!



桌面位置:D:\桌面\

移到:D:\文件夹


有几个问题,希望大家帮忙解决。

01.如何 复制和删除时排除 快捷方式,快捷方式的后缀为 lnk

怎么才可排除掉????

02.复制文件或文件夹时,如果重名,可以自动重命名,以免删除原有文件(我要给个公用电脑用)。

03.以下命令,在由kill.txt输回空文件夹路径时,路径上任何一个名称有空格,自动结束,然后输入下一个路径。当然系统会找不到路径,我不知如何改。

dir "D:\桌面\" /ad /b /s |sort /r >>d:kill.txt

For /f %%i in (d:kill.txt) DO rd /s /q "%%i"

echo y|del d:kill.txt


这一段,是我找的,用来删除空文件夹。作者解释如下:


提示:“dir d:”表示列D盘上的所有目录包括子目录列表,其中参数“/ad”表示列所有目录;参数“/b”表示只列出文件夹名称而不显示标题信息或摘要:参数“/s”表示搜索,即查找D盘中的所有文件夹和子文件夹;“|”是管道符号,将Dir命令的结果传递给“sort”命令;“sort”命令表示排序;“/r”表示逆序列排序。之所以要逆序列排序,是因为通过逆序列排序后,D盘上的所有子文件夹总是会位于其父文件夹的前面,这样在用For命令删除空文件夹时,空的子文件夹被首先删除了,因此空的父文件夹就可以删除了。否则,因空的父文件夹中尚有空的子文件夹,会造成无法删除的情况。“>>d:kill.txt”的作用是让屏幕回显重新定位到“d:kill.txt”文件中。

For 命令中参数“/f”的作用是让For命令从指定的文件中读取数据作为变量,示例是从Dir的结果文件“d:kill.txt”文件中读取数据,每次读取一行传递给RD命令;RD命令的作用是删除由For命令传递过来的每一个文件夹,因RD命令无法删除尚有内容的文件夹,所以经过For命令的循环后,只是删除了所有的空文件夹,有内容的文件夹会完好无损地被保留下来。



望高手帮忙修改谢谢啦。

[ Last edited by xiaoe888 on 2008-10-31 at 13:37 ]
第2楼 dato 发表于 2008-10-29 13:11
高级用户 发帖 377 积分 916
以前桌面部署也遇到这种问题,有时候满屏都是乱78糟的文件,所以禁止用户对桌面进行写操作,效果很好很清爽



这种方式还是保留了system帐户对桌面的写操作,所以有时候还要借助psexec对一些非保留图标进行清除

..\psexec.exe -accepteula @..\only.txt -u onlyit -p "" -c -n 5 lnk.cmd
lnk.cmd



其它已知问题,由于有些软件需要向桌面写图标操作,如果不成功就意外中止,很笨吧这些软件,哈哈所以需要在安装时开启桌面写操作,安装完毕关闭就行了



[ Last edited by dato on 2008-10-29 at 13:12 ]
第3楼 Climbing 发表于 2008-10-29 13:12
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
你完全可以自己做,遇到困难再来寻求帮助。

更改桌面位置需要修改注册表,而修改注册表后需要注销再重新登录(或者重新启动系统)才能生效。

其它的似乎没有必要考虑了,将桌面上的东西全部移走即可。
第4楼 HAT 发表于 2008-10-29 20:19
版主 发帖 5,017 积分 9,023
建议把
echo y|del d:kill.txt
改成
del /q /f /a d:\kill.txt
第5楼 newsuper 发表于 2008-10-29 22:49
新手上路 发帖 15 积分 18
看了2楼的帖子,对cacls命令有了一个初步的认识,自己做练习的时候发现一个问题。
运行 cacls d: /t /e /d %username% 之后,d盘被禁止访问了,然后我运行cacls d: /t /e /g %username%:f,但是d盘依然拒绝访问。
运行上述两条命令到其他盘,可以禁止访问,然后解禁,c盘是系统盘,都没问题。
不知道什么原因,望高人指点。(我的页面文件在d盘,其他的我不清楚了)。
第6楼 dato 发表于 2008-10-29 23:37
高级用户 发帖 377 积分 916
我试了你上面的命令没问题

如果你是xp sp2系统开启 工具/文件夹选项.去掉使用简单文件共享的钩,然后右击该目录看看.

NTFS权限有用户,组,的关系,还有拒绝权限优先于其它权限

所以可能的原因是你的当前用户属于某个组,而该组用户被拒绝了.

偶尔有时候有些怪怪的NTFS设置从GUI界面也看不出来,也不知道怎么设置的却可以实现一些很奇怪的应用
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023