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

###########去掉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  解决文件名有空格导致出错问题#################

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值