批量去掉pdf文件密码perl脚本

  • Post author:
  • Post category:其他



###########去掉pdf文件密码脚本文件#################

print “begin……/n”;

###############################定义你自己的文档目录!!!!!

my $path = “..//*.pdf”;

###############################print “$path/n”;

###############################把所有pdf文件列表

$LIS_FILE = “1234.txt”;

system(“dir /a /b /s $path >$LIS_FILE “);

open(LIS_FILE , “<$LIS_FILE “) or die “cannot open $LIS_FILE/n”;

@reading = <LIS_FILE>;

#print “@reading /n”;

$object_count=0;

$obj_list=”;

#############################生成批处理文件

open(BATFILE,”+>1234.BAT”) or die “CREATE FILE FAIL!/n”;

foreach (@reading)    ####读取一行到$_变量

{


#####s/g;   # 此处每次循环将从 @array 数组中取出一个元素存放在 $_ 变量中,并对 $_ 进行替换处理。g 表示把待处理字符串中所有符合 <pattern>; 的模式全部替换为 <replacement>; 字符串,而不是只替换第一个出现的模式。

##############把行结尾的换行/n替换成空格

s//n/ /;

#$obj_list .= ” $_”;  ###这句是累加

#$obj_list = ” $_”;    ###这句才是仅仅当前行

$obj_list = “$_”;      ###比上一句少了前后空格 2010.3.22

#################打印到文件 【这里要求你把安装的文件复制到当前目录(exe 和license)】$obj_list文件名如果有空格则会失败故加””  2010.3.22

print BATFILE “pdfdecrypt.exe -i /”$obj_list/” -u 4252308177 -l error.log/n” ; #6193266863

$obj_count++;   ##计数

}

print BATFILE “done!!”;

close(BATFILE);

close(LIS_FILE);

system(“call 1234.bat”);    ##执行解密批处理

open(LOG, “>error.log”) or die “open log file fail!”;

print LOG “/n”;

print LOG “pdfdecrypt $obj_count files/n”;   ##打印处理文件数

close(LOG);

#########jordan.sg end 2009.4.27#################

#########jordan.sg end 2010.3.22  解决文件名有空格导致出错问题#################



版权声明:本文为zzsg2005原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。