Пакетная замена строки - PullRequest
       16

Пакетная замена строки

1 голос
/ 05 сентября 2010

У меня есть такая переменная

"Folder With Spaces/filename.ext"

Когда я передаю его своей программе через системную команду PHP, аргументы разделяются пробелами

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

Так у меня это так

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

Есть ли способ теперь, когда он вернулся в пакетную программу, чтобы заменить _ на '

Ответы [ 3 ]

2 голосов
/ 05 сентября 2010

попробуйте это в вашем командном файле:

set str=hello_world_try_this
set str=%str:_= %
echo.%str%
2 голосов
/ 05 сентября 2010

Просто заключите параметр с пробелами в кавычки.

system("batch.bat \"Folder With Spaces/filename.ext\"");
0 голосов
/ 05 сентября 2010

Возможно, вы захотите попробовать escapeshellcmd (), например так:

$path = escapeshellcmd("Folder With Spaces/filename.ext");  
system("batch.bat \"$path\"");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...