2017-10-19 2 views
1

Ich habe ein Skript, das in Ubuntu ausgeführt wird, aber ich möchte es in Windows ausführen. Ich weiß, wie ich es ausführen kann Ich weiß einfach nicht, was mit meinem Skript nicht stimmt, damit es nicht läuft.Führen Sie ein Perl-Skript unter Windows

#!/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

Ich würde sagen, die Zeichenfolge nach 'glob'. Warum nicht die gleiche Syntax verwenden, die Sie für die @ Dateien verwendet haben? Möglicherweise auch die Backslashes im '' Teil. Ich kann nicht unter Windows testen. – simbabque

+1

Welchen Fehler wirft Perl? – PhillipD

+1

Erhalten Sie keine Warnungen? 'Unerkanntes Escape \ W ging durch ...' – toolic

Antwort

3

Versuchen Sie stattdessen:

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

und

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

Aufruf glob explizit besser als <> ist, und mit / statt \ vereinfacht zitieren.

Verwandte Themen