桌面我已经移出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 ]
我花了一下午,上网找了一些资料,自己攒了一个,我的目的是,大家自由的在桌面上建文件,我只是将除快捷方式以外的文件和文件夹(系统文件除外),一律移到一个指定文件夹。这可以用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 ]
