找不到批处理专区,就在这里问了
我用dir /b/s *.jpp *.h 列出了文件夹类的这些文件及其路径,但我希望得出的路径不包含文件夹前面的信息,即比如我得出的是c:\abc\java\j2me\a.h,我是在java文件夹下使用上述命令的,我希望得出的信息是j2me\a.h,也就是删除子目录的路径自信,不知道怎么做?
我用dir /b/s *.jpp *.h 列出了文件夹类的这些文件及其路径,但我希望得出的路径不包含文件夹前面的信息,即比如我得出的是c:\abc\java\j2me\a.h,我是在java文件夹下使用上述命令的,我希望得出的信息是j2me\a.h,也就是删除子目录的路径自信,不知道怎么做?
解决方案 »
- 面向对象...
- int是integer类吗?
- java 对话框和消息框问题
- 有谁用过synthetica吗?
- 《急切求助》为什么我的JSP文件连接不上MSSQL???
- 各位请帮忙,分不够可以再给,一旦解决马上结贴!
- 向大家请教下TextArea的问题
- http://www.wireless2k.com,通过手机进行远程控制
- 再次求助,如何重绘,急
- JBUILDER5所带的APPLICATION SERVER 有否许可协议限制,是否免费?
- 圣诞节:试试使用Java枚举类型计算你在行星上的万有引力!Just have fun
- 让集合[abc]中的字母只能出现一次(不能连续出现),这个正则表达式如何写?
可是把dir的输出放在一个字串里, 然后处理字串
import java.io.FileFilter;public class FileList {
public static void main(final String[] args)
{
FileFilter filter = new FileFilter(){
public boolean accept(File pathname){
return pathname.isDirectory()
|| pathname.getName().endsWith(".h")
|| pathname.getName().endsWith(".jpp");
}
};
File currentPath = new File(".");
process(currentPath,filter);
} static void process(File file,FileFilter filter)
{
if(file.isDirectory()){
File[] files = file.listFiles(filter);
for (File afile : files)
process(afile,filter);
}
else{
System.out.println(file.getPath());
}
}
}
setlocal enabledelayedexpansion
for /r . %%a in (*.jpp *.h) do set var=%%a & echo !var:%cd%\=!
echo on[/code]
setlocal enabledelayedexpansion
:label
if "%1" neq "" set param=%1 %param% & shift & goto label
for /f "usebackq" %%a in (`dir /b/s %param%`) do set var=%%a & echo !var:%cd%\=!
set param=
echo on[/code]在命令行中这样用(假定保存的文件名为 ff.bat)[code=BatchFile]C:\abc\java>ff *.bak *.jpp *.h[/code]