0

exec()只要给定的路径在开发文件夹内,该功能就可以更改 Windows 机器中的文件属性。像

D:\程序\开发\www\

只要文件在该路径内,它的属性就可以改变。

$path = D:\Programs\Development\www\test.jpg
exec("attrib +s +h $path");

那行得通,但是一旦我将路径更改到其他地方,此功能似乎不起作用

$path = 'D:\Desktop\New Folder (2)\Test Folders\test.jpg'
exec("attrib +s +h $path");

现在相同的命令将不起作用。关于如何解决这个问题的任何想法?

4

1 回答 1

1

您需要将路径放在引号中。

与大多数操作系统一样,文件名中的空格是您必须正面处理的问题。这通常使用反斜杠完成,但是,由于 Windows 对其文件夹系统使用反斜杠,因此您需要使用引号。

$path = 'D:\Desktop\New Folder (2)\Test Folders\test.jpg'
exec("attrib +s +h \"{$path}\"");

这应该适合你。

于 2012-10-18T06:22:07.527 回答