#!/bin/perl require "C:/fcdes/bin/jmjsdes_050322.pm"; package main; print "ID:"; local $jmjsid=; chop($jmjsid); print "tempPass:"; local $jmjstpass=; chop($jmjstpass); system("cls"); print "JOS>"; my $inkey=; my @resultpaths=(); while($inkey!~/^[qx¤²¤¼]/) { chop($inkey); my @cmds = split(/[\s]+/,$inkey); if( $inkey =~ /^[0-9]+[\s]/ ) { &read_file($inkey);} elsif( $inkey =~ /^[0-9]+$/ ) { &read_file($inkey);} elsif($inkey =~ /^by/i ) { exit(0);} elsif($inkey =~ /^bzs/i ) { &do_file($inkey,@resultpaths);} elsif($inkey =~ /^check_ga/i) { &do_file($inkey,@resultpaths);} elsif($inkey =~ /^ex/i ) { exit(0);} elsif($inkey =~ /^f/i ) { @resultpaths=&find_file($inkey);} elsif($inkey =~ /^move/i ) { &do_file($inkey,@resultpaths);} elsif($inkey =~ /^rename/i) { &do_file($inkey,@resultpaths);} elsif($inkey =~ /^result/i) { for(my $i=0;$i<=$#resultpaths;$i++) { print "$i:$resultpaths[$i]\n"; } } else { system("$inkey");} print "JOS>"; $inkey=; } sub read_file { my ($inkey) = @_; my ($rfile,$cmd) = split(/[\s]+/,$inkey,2); if($cmd =~ /^vi/i) { system("vi \"$resultpaths[$rfile]\"");} elsif($cmd =~ /^eviewer/i) { system("\"C:\\Program Files\\Ulead Systems\\Ulead Photo Explorer 7.0\\eViewer.exe\" \"$resultpaths[$rfile]\""); } elsif($cmd =~ /^jvi/i) { &jdecode($resultpaths[$rfile],"jfile.txt"); system("vi jfile.txt"); system("del jfile.txt"); } elsif($cmd =~ /^jvi/i) { &jdecode($resultpaths[$rfile],"jfile.jpg"); system("vi jfile.jpg"); system("del jfile.jpg"); } elsif($cmd) { system("$cmd \"$resultpaths[$rfile]\"");} else { system("explorer \"$resultpaths[$rfile]\"");} } sub jencode { my ($infile,$outfile) = @_; system("copy \"$infile\" jencode.in\n"); open(CMD,"|jmjsdes -html_mode -enc jencode.in $outfile"); print CMD "$jmjsid\n"; print CMD "$jmjstpass\n"; close(CMD); system("del jencode.in"); } sub jdecode { my ($infile,$outfile) = @_; system("copy \"$infile\" jdecode.in\n"; print "|C:\\fcdes\\bin\\jmjsdes.exe -html_mode -dec jdecode.in $outfile\n"; $abc=; open(CMD,"|C:\\fcdes\\bin\\jmjsdes.exe -html_mode -dec jdecode.in $outfile"); print CMD "$jmjsid\n"; print CMD "$jmjstpass\n"; close(CMD); system("del jdecode.in"); } sub find_file { my ($inkey) = @_; my @resultpaths=(); my ($cmd,@args) = split(/[\s]+/,$inkey); my @dirs = &dir_list(); my $adir = ""; #foreach $adir (sort @dirs) { # print "JDIR:$adir\n"; # $adir =~ s/\n//g; my @files = &path_list($adir); my $afile = ""; foreach $afile (sort @files) { $afile =~ s/\n//g; my $flag = 0; foreach $amatch (@args) { if($afile !~ /$amatch/i) { $flag = 1; } } if($flag == 0) { #rint "JFILE::$afile\n"; push(@resultpaths,"$afile"); } } #} for(my $i=0;$i<=$#resultpaths;$i++) { print "$i:$resultpaths[$i]\n";} @resultpaths; } sub do_file { my ($inkey,@resultpaths) = @_; open(OUT,">jos_run.bat"); my $apath = ""; foreach $apath (@resultpaths) { my ($adir,$afile,$aext) = &dir_file_ext($apath); if($inkey =~ /move/) { my ($cmd,$args) = split(/[\s]+/,$inkey,2); print OUT "move \"$apath\" $args\n"; } elsif($inkey =~ /check_ga/) { my ($cmd,$args) = split(/[\s]+/,$inkey,2); my ($bpath) = &check_ga($apath); if($bpath) { print OUT "move \"$apath\" \"$bpath\"\n"; } } elsif($inkey =~ /^rename/) { my ($cmd,@args) = split(/[\s]+/,$inkey); if($apath =~ /$args[0]/) { my $bpath = $apath; $bpath =~ s/$args[0]/$args[1]/g; print OUT "move \"$apath\" \"$bpath\"\n"; } } elsif(($inkey =~ /^bzs/)&&($aext =~ /zip/)) { my ($bpath) = &make_bzs($apath); if($bpath) { print OUT "move \"$apath\" box\n"; print OUT "move \"$bpath\" \"$adir\"\n"; } } } close(OUT); print "JOS>type jos_run.bat\n"; system("type jos_run.bat"); } sub check_ga { my ($apath) = @_; my ($adir,$afile,$aext) = &dir_file_ext($apath); my @aaa = split(/[\s\(\)\[\]\_\.\+]+/,$afile); my $aa1=(); my $flag = 0; foreach $aa1 (@aaa) { if($aa1 =~ /°¡/) { my $bb1 = $aa1; $bb1 =~ s/°¡//g; my $cc1=(); foreach $cc1 (@aaa) { print "($cc1 eq $bb1)\n"; if($cc1 eq $bb1) { $flag = 1; $apath =~ s/$aa1//g; $apath =~ s/$cc1/$aa1/g; } } } } if($flag) { return $apath;} else { return();} } sub book_rename { my ($afile,$from,$to) = @_; my $bfile = $afile; $bfile =~ s/$from/$to/g; $bfile; } sub file_rename2 { my $bra = 0; if($bra == 0) { my $bra = 0; my $pre = ""; my $post = ""; while(@chrs) { if($chrs[0] =~ /^\[/) { $bra ++; $pre .= $chrs[0]; } elsif($chrs[0] =~ /^\]/) { $bra --; $pre .= $chrs[0]; } elsif($bra > 0) { $pre .= $chrs[0]; } else { $post .= $chrs[0]; } if($bra < 0) {$bra=0;} shift(@chrs); } $bfile = $pre.$post; $bfile =~ s/[\s]*\'[\s]*/ /g; $bfile =~ s/[\s]+/ /g; $bfile =~ s/^[\s]+//g; $bfile =~ s/[\s]*\.[\s]*/\./g; $bfile =~ s/[\.]+/\./g; $bfile =~ s/[\s]*\([\s]*/\(/g; $bfile =~ s/[\s]*\)[\s]*/\)/g; $bfile =~ s/[\s]*\[[\s]*/\[/g; $bfile =~ s/[\s]*\][\s]*/\]/g; $bfile =~ s/[\s]+$//g; $bfile =~ s/\[\]//g; if($afile ne $bfile) { print("move \"$adir\\$afile\" \"$adir\\$bfile\"\n"); #system("move \"$adir\\$afile\" \"$adir\\$bfile\""); } } } sub dir_file_ext { my ($aline) = @_; my ($dirname,$filename,$extname) = ("","",""); if($aline =~ /\\/) { my @aas = split(/\\/,$aline); $dirname = join("\\",@aas[0..($#aas -1)]); $aline = $aas[$#aas]; } else { $dirname = $aline; } if($aline =~ /\./) { my @aas = split(/\./,$aline); $filename = join(/\./,@aas[0..($#aas -1)]); $extname = $aas[$#aas]; } else { $filename = $aline; } return($dirname,$filename,$extname); } sub dir_list { my ($adir) = @_; my @dirs = ("."); system("dir /ad /b /s $adir > jos.lst"); open(LST,"jos.lst"); while($adir=) { chop($adir); push(@dirs,$adir); } close(LST); @dirs; } sub path_list { my ($adir) = @_; system("dir /b /s \"$adir\" > jos.lst"); open(LST,"jos.lst"); my @paths=; close(LST); my $apath = (); foreach $apath (@paths) { $apath =~ s/\n//g;} my @dirs = &dir_list($adir); my @opaths=(); foreach $apath (@paths) { $apath =~ s/\n//g; my $same = 0; foreach $adir (@dirs) { if($apath eq $adir) { $same = 1;} } if($same == 0) { push(@opaths,$apath); } } @opaths; } sub unzip { my ($afile) = @_; } sub make_bzs { my ($apath) = @_; my ($adir,$afile,$aext) = &dir_file_ext($apath); if(-f "$apath\.old") { print "$apath already checked!\n"; return(); } print "bzs>$apath\n"; my $breadzipdir = "D:\\breadzip"; open(BZS,">jos.bzs"); print BZS < jos.log"); #rint("rmdir /q /s $breadzipdir\n"); system("rmdir /q /s $breadzipdir > jos.log"); #ystem("type jos.bzs"); #rint("\"C:\\Program Files\\»§Áý\\BreadZip.exe\" jos.bzs\n"); system("\"C:\\Program Files\\»§Áý\\BreadZip.exe\" jos.bzs"); my @flist=&path_list("$breadzipdir"); if(@flist && ($#flist == 0)) { my @alist = split(/[\s\[\]\(\)\_\.]+/,$afile); my ($bdir,$bfile,$bext) = &dir_file_ext($flist[0]); my @blist = split(/[\s\[\]\(\)\_\.]+/,$bfile); my $bf = ""; foreach $bf (@blist) { if($afile !~ /$bf/) { $afile .= " $bf";} } print("move \"$flist[0]\" \"box\\$afile\.$bext\"\n"); system("move \"$flist[0]\" \"box\\$afile\.$bext\""); return("box\\$afile\.$bext"); } else { open(OLD,">$apath\.old"); print OLD "checked\n"; close(OLD); return(); } }