由于你没有指定运行环境,所以假设你使用的操作系统为目前的主流xp pro sp2。关于识别U盘的批处理,在本论坛似乎有过多次讨论,希望你在发贴前可以多搜索。
唔l,你的问题似乎也并非无法完成,关于问题1,请参考
有否类似 findcd 的 U盘盘符识别程序 findusb ?
至于问题2,在我们面前有多种方法可以实现
第一种方案:先用dir *.mp3 /a/b……命令把所有的需要保留的文件列出来,然后在删除文件的时候根据列表来判断是否应该删除。此方案过于繁琐切效率低下,故不予考虑使用。
第二种方案:先把U盘上所有文件的文件去掉隐藏,系统,只读属性;然后用attrib把所有的mp3文件设置问只读,隐藏,系统属性;接着用del和rd来进行删除,注意不要加处理特殊属性文件的参数;最后,再用attrib把你的mp3文件属性更改回来就OK了。当然,如果你是NTFS格式的话也可以考虑用cacls来取消当前用户对mp3文件的删除权限而不是更改属性。这种方法从效率以及代码量上来说,应该还算不错。
第三种方案:在XP系统中,WMIC所能完成的功能可能会超乎想象,例如,wmic datafile where "extension!='mp3' and drive='f:'" 这一句就可以列出所有E盘的非mp3文件,如果在后面加上delete或者call其他的方法,可以完成基本上所有的文件操作任务,比如复制,移动,删除,创建……等等等等。用此命令不仅删除所有非mp3文件方便,而且可以一句命令就把所有的mp3文件移动到同一目录。如果你的操作系统为XP pro的话,强烈建议用wmic来完成你的各个任务,可能只需要3,4行代码吧。
最后,给你点建议: 发贴前先看看
本版的版规 ,另外你可以看看本论坛网友Climbing的签名,里面有两个贴子值得一读。 希望你看到回复后能把本贴标题更改一下。