批量字符串替换

时间:2010-09-05 12:16:52

标签: php regex batch-file replace

我有一个像这样的变量

"Folder With Spaces/filename.ext"

当我通过PHP的系统命令将它传递给我的程序时,参数由空格分隔

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

所以我喜欢这个

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

现在有没有办法让它回到批处理程序中用_替换

3 个答案:

答案 0 :(得分:2)

只需将带有引号的空格的参数括起来。

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

答案 1 :(得分:2)

在批处理文件中尝试此操作:

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

答案 2 :(得分:0)

您可能想尝试使用escapeshellcmd(),如下所示:

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