首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Perl系统访问被拒绝

Perl系统访问被拒绝
EN

Stack Overflow用户
提问于 2011-02-15 21:40:27
回答 3查看 1.7K关注 0票数 0

我以管理员身份在windows计算机上运行以下程序

代码语言:javascript
复制
system("tracert 192.168.63.1 > d:\netmon\test.txt");

输出被拒绝访问。在不创建文件的情况下运行tracert可以正常工作。那么为什么我不能在现有的netmon目录中创建该文件。我对那个目录有完全的访问权限。

有人能给我指个方向吗?谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-16 00:16:38

在Perl中,反斜杠(\)是双引号内的特殊字符,用于“转义”其他特殊字符或指定其他无法键入的字符。示例中包含的序列"\n""\t"分别用于生成换行符和制表符。

为了在双引号内生成文字反斜杠字符,我们使用两个连续的反斜杠字符,因此:

代码语言:javascript
复制
system("tracert 192.168.63.1 > d:\\netmon\\test.txt");

将产生您想要的结果。

Perl对待用单引号('')括起来的字符串的方式与对待双引号的方式不同。在单引号内,\不是一个特殊字符(实际上,它仍然有一点特殊,但远不如双引号内的特殊),因此您也可以将表达式编写为:

代码语言:javascript
复制
system('tracert 192.168.63.1 > d:\netmon\test.txt');
票数 7
EN

Stack Overflow用户

发布于 2011-02-15 21:52:52

如果在路径中使用\,则需要加倍:

代码语言:javascript
复制
system("tracert 192.168.63.1 > d:\\netmon\\test.txt");
票数 2
EN

Stack Overflow用户

发布于 2011-02-15 22:43:04

或者你可以直接使用斜杠:

代码语言:javascript
复制
 system('tracert 192.168.63.1 > d:/netmon/test.txt');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5004359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档