问题
I have a variable like this
"Folder With Spaces/filename.ext"
When I pass it to my program via PHP's system command, arguments are separated by spaces
system("batch.bat Folder With Spaces/filename.ext");
So I have it like this
system("batch.bat Folder_With_Spaces/filename.ext");
Is there a way now that it is back in the batch program to replace the _
's with 's
回答1:
try this in your batch file:
set str=hello_world_try_this
set str=%str:_= %
echo.%str%
回答2:
Just enclose the parameter that has spaces with quotes.
system("batch.bat \"Folder With Spaces/filename.ext\"");
回答3:
You may want to try escapeshellcmd(), like this:
$path = escapeshellcmd("Folder With Spaces/filename.ext");
system("batch.bat \"$path\"");
来源:https://stackoverflow.com/questions/3646016/batch-string-replace