繁体   English   中英

Perl系统命令以在命令提示符下运行脚本

[英]Perl system command to run scripts at command prompt

这是我尝试使用的一个非常简短的脚本,以使PC的命令提示符运行一系列脚本。 脚本的数量各不相同,但是对于此示例,假设有10个,编号为0-10。 这些脚本是SAS程序文件。 我正在使用system命令,但是找不到错误。

use strict; use warnings;

for ( my $i = 0; $i < 10; $i++ )  {
      system "sas -SYSIN $i.sas -ICON -NOSPLASH -LOG 'c:\Users\...' -PRINT 'c:\Users\...' ";
}

我收到以下错误:

"Missing braces on \o{} at "perlscript.pl" line 6, near "sas..."

我在system命令后的文本周围放置了花括号,但这并不能解决问题。 我也尝试使用括号() ,但没有任何乐趣。 在读取文件位置时,加上大括号或()也会给我“无法识别的转义”错误。

您在双引号字符串中使用反斜杠: system "... \\U ..." 这些要么是特殊的转义码,要么被忽略。 无论哪种情况,您最终都得到了您不想要的字符串。 为避免这种情况,请转义所有反斜杠,或对路径使用正斜杠: C:/foo/bar 即使在Windows上,大多数工具也可以使用正斜杠正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM