我必须使用exe来运行某个功能。但该目录包含某些特殊字符的文件夹,如“。”,“ - ”,因此它不会被执行。我可以像处理文件名一样重命名目录名称,我不确定需要做什么。
我正在使用Linux环境。 这是一段代码,
newFilename = /sites/jboss-5.1.0.GA/server/dev/deploy/meen.war/temp/filename
String[] command_ary = { directory+"lib/fcrc", newFilename };
process = runtime.exec( command_ary);
int exit_val = process.waitFor();
fcrc是我的exe,后跟文件名,这里的目录包含特殊字符,因此它会产生问题。而从其他目录我能够执行,但我只需要从这个目录访问
并且exit_val返回1
有人能建议我吗? 感谢您
答案 0 :(得分:0)
正如评论所说,如果没有看到你的代码就很难理解这个问题。如果问题是您的fcrc
可执行文件无法处理路径名,那么我建议您临时复制或移动文件;或者,您可以创建指向该文件的链接并将链接传递给您的可执行文件。
答案 1 :(得分:0)
您是否尝试将这些字符转义为转义符号?
例如在Windows上,如果要访问名称中有空格的文件夹,则应该将其转义:
C:\Program/ Files\something\file.txt
这将到达“Program Files”中“something”文件夹内的file.txt。
如果您的情况是这样的,或者您使用带有“。”的文件夹。标志试图以类似的方式逃避路径中的特殊字符。