由于通配符处理,下一个代码打印当前目录中每个文件的属性。
c:\work>attrib *
我需要在我的脚本中禁用通配符处理。转义符号不起作用:
c:\work>attrib "*"
c:\work>attrib ^*
两者都给你相同的。
我需要禁用通配符处理才能启动接受通配符作为参数的应用程序。
爪哇
import java.util.Arrays;
public class A {
public static void main(String[] args) {
System.out.println(Arrays.deepToString(args));
}
}
命令
C:\work\temp>start.bat
C:\work\temp>java -cp playground.jar A *
[activation.jar, file.txt, playground.jar, playground.jar.bak, start.bat, test.bat]
C:\work\temp>start.bat
C:\work\temp>java -cp playground.jar A "*"
[activation.jar, file.txt, playground.jar, playground.jar.bak, start.bat, test.bat]
C:\work\temp>start.bat
C:\work\temp>java -cp playground.jar A "* foo? *bar*"
[* foo? *bar*]
找到解决方法。“*;” - 不是无效的文件夹名称,而是有效的类路径:
java -cp "*;" A
谢谢。