【发布时间】:2011-01-04 19:17:49
【问题描述】:
我正在转换一个 Unix Perl 脚本以在 Windows 上运行。我遇到了包含空格的路径的问题:
open (IN, "| C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\mysql.exe -u root -ppwd") or die "$!";
上面的代码抛出如下错误:
'C:\Program' is not recognized as an internal or external command,
我尝试像这样包裹转义的\":
open (IN, "| \"C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\mysql.exe -u root -ppwd\"") or die "$!";
但没有快乐。如何处理带空格的路径?
我正在使用为 MSWin32-x86-multi-thread 构建的 ActiveState v5.10.0。
【问题讨论】:
-
删除了我的答案,因为我无法打开该死的东西,但这暂时应该可以解决问题:
chdir q!C:/Program Files/MySQL/MySQL Server 5.1/bin!; open my $pipe, '|-', 'mysql.exe -u root -ppwd';