2016-07-18 2 views
-4

В основном я хочу передать несколько входных файлов в качестве аргументов и запустить свой скрипт perl. У меня уже есть .bat-скрипт, который выбирает один файл. Есть ли в любом случае файл .bat, который дает возможность выбирать несколько файлов с помощью ключа ctrl так же, как у нас есть эта опция, когда мы прикрепляем файлы к сообщению по электронной почте.Мне нужен файл .bat для выбора файлов mutiple и запуска скрипта perl.

Справка была бы принята с благодарностью ... Спасибо !!!!

Существующий .bat скрипт

enter image description here

+1

Как выглядит ваш скрипт '.bat'? – melpomene

+0

Пожалуйста, сделайте свой вопрос более ясным. Добавьте пример и то, что вы пробовали. – Arijit

+0

Добавьте описание файла .bat в описание. – Anirudh

ответ

0

Ваш вопрос не очень понятно мне. Я считаю, что вы хотите обработать аргументы командной строки, используя perl.

код Run:

perl run.pl file1.log file2.log file3.log 

код:

use strict; 
use warnings; 
my $val1= $ARGV[0]; 
my $val2 = $ARGV[1]; 
my $val3 = $ARGV[2]; 
print "$val1\n$val2\n$val3\n"; 

выход

file1.log 
file2.log 
file3.log 

Таким образом, вы можете получить аргументы в сценарии PERL, то вы можете обработать их.

Надеюсь, это поможет вам.

0

Если вы просто хотите разрешить пользователю выбирать файлы, вам не нужен танец с скриптом .bat, который пишет сценарий .vbs, который записывает сценарий .hta, который записывает результат в реестр.

Вы можете сделать это прямо в Perl:

use strict; 
use warnings; 

use Win32::GUI(); 

my @files = Win32::GUI::GetOpenFileName(
    -filemustexist => 1, 
    -multisel  => 1, 
); 

if (@files == 1 && !defined $files[0]) { 
    print "Canceled\n"; 
} elsif (@files == 1) { 
    print "Selected one file: $files[0]\n"; 
} else { 
    my $dir = shift @files; 
    print "Selected multiple files in $dir\n"; 
    for my $file (@files) { 
     print " - $file\n"; 
    } 
} 

Если у вас нет Win32 :: GUI еще (Can't locate Win32/GUI.pm in @INC ...), вы можете установить его с помощью cpan Win32::GUI, по крайней мере, с Strawberry Perl. Если вы используете ActivePerl, я думаю, вы можете получить его с помощью ppm install Win32-GUI.

Смежные вопросы