2010-09-05 148 views
1

我有这样批次字符串替换

"Folder With Spaces/filename.ext" 

当我通过PHP的系统命令将它传递给我的程序变量,参数之间用空格

system("batch.bat Folder With Spaces/filename.ext"); 

分开所以我有这样的

system("batch.bat Folder_With_Spaces/filename.ext"); 

现在是否有一种方法可以在批处理程序中将_替换为

+0

是什么批量,你不能做在PHP中? – ghostdog74 2010-09-05 23:52:07

回答

2

试试这个在您的批处理文件:

set str=hello_world_try_this 
set str=%str:_= % 
echo.%str% 
2

只需将带空格的参数括起来即可。

system("batch.bat \"Folder With Spaces/filename.ext\""); 
0

你可能想尝试escapeshellcmd()将,就像这样:

$path = escapeshellcmd("Folder With Spaces/filename.ext"); 
system("batch.bat \"$path\""); 
+0

......这与所讨论的字符串完全没有关系。 – Joey 2010-09-08 08:46:15