2017-10-19 29 views
1

私はUbuntuで動作するスクリプトを用意していますが、Windowsで実行したいと思います。私はそれを実行する方法を知っている私はそれが実行されないように私のスクリプトで何が間違っているのか分からない。Windowsでperlスクリプトを実行する

#!/usr/bin/perl 

use strict; 
use warnings; 
use IO::Compress::Zip qw(zip $ZipError); 
use File::Find; 

my @files = <C:\Windows\*.log>; 

zip [ @files ] => 'Desktop/output.zip' 
    or die "zip failed: $ZipError\n"; 

unlink glob "'C:\Windows\*.log'"; 
print "The job is done\n"; 
+0

私は 'glob'の後の文字列を言うでしょう。 '@ files'のために使ったのと同じ構文を再利用してみませんか?おそらく ''の部分にバックスラッシュもあります。私はWindows上でテストすることはできません。 – simbabque

+1

Perlはどんなエラーを投げますか? – PhillipD

+1

警告が表示されませんか? '認識されないエスケープ\ Wが通過しました... ' – toolic

答えて

3

代わりにこれを試してみてください:

my @files = glob 'C:/Windows/*.log'; 

unlink glob 'C:/Windows/*.log'; 

が明示的にglobを呼び出す<>よりも優れている、と/代わりの\を使用すると、引用簡素化します。

関連する問題