繁体   English   中英

你如何使用 7z 测试?

[英]How do you use the 7z test?

文件的目录已定义。

我想使用 7z 的“测试”命令获取“测试”值。

foreach $str0 (glob "*.zip"){
    my $test = system( "7z t -y $str0");
    print $test;
}

如何获得“7z 测试”值?


编辑:

你的意思是使用 qx 而不是系统?

你是这个意思对吗?

foreach $str0 (glob "*.zip"){
    my $test = qx/7z t -y $str0/;
    print $test;
}

或者

foreach $str0 (glob "*.zip"){
    my $test = `7z t -y $str0`;
    print $test;
}

我都试过了,但我无法获得“测试值”。

Perl至少有3种方法; qx和反引号的方式基本上是一样的,除了qx你可以选择使用什么分隔符来开始/结束字符串。 使用'作为分隔符可防止变量插值。

第三种方式是用open打开一个pipe到7zip。

#with qx
my $test = qx/7z t -y $str0/;

#with backticks
my $test = `7z t -y $str0`;

#with open
open my $pipe, '-|', '7z', 't', '-y', $str0;
my $test = join "\n", readline $pipe;
close $pipe;

暂无
暂无

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

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