Leser: 30
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#!/usr/bin/perl use strict; use warnings; use File::Copy; my $base_dir = "C:\Dokumente und Einstellungen\Ricco\Lokale Einstellungen\Anwendungsdaten\Microsoft\Wallpaper\Wallpaper1.jpg"; my $save_dir = "C:\Dokumente und Einstellungen\Ricco\Lokale Einstellungen\Anwendungsdaten\Microsoft\Wallpaper1.bmp"; opendir (BASE, $base_dir) || die "Kann Verz. nicht lesen:"; my @dir = grep { $_ !~ /^..?$/ && -f "$base_dir/$_" } readdir(BASE); closedir (BASE); foreach my $file (@dir){ copy("$base_dir/$file", "$save_dir/$file"); }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Dokumente und Einstellungen\Ricco>wallpaer.pl
Der Befehl "wallpaer.pl" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
C:\Dokumente und Einstellungen\Ricco>wallpaper.pl
Unrecognized escape \D passed through at C:\Dokumente und Einstellungen\Ricco\wa
llpaper.pl line 7.
Unrecognized escape \R passed through at C:\Dokumente und Einstellungen\Ricco\wa
llpaper.pl line 7.
Unrecognized escape \A passed through at C:\Dokumente und Einstellungen\Ricco\wa
llpaper.pl line 7.
Unrecognized escape \M passed through at C:\Dokumente und Einstellungen\Ricco\wa
llpaper.pl line 7.
Unrecognized escape \W passed through at C:\Dokumente und Einstellungen\Ricco\wa
llpaper.pl line 7.
Unrecognized escape \W passed through at C:\Dokumente und Einstellungen\Ricco\wa
llpaper.pl line 7.
Unrecognized escape \D passed through at C:\Dokumente und Einstellungen\Ricco\wa
llpaper.pl line 8.
Unrecognized escape \R passed through at C:\Dokumente und Einstellungen\Ricco\wa
llpaper.pl line 8.
Unrecognized escape \A passed through at C:\Dokumente und Einstellungen\Ricco\wa
llpaper.pl line 8.
Unrecognized escape \M passed through at C:\Dokumente und Einstellungen\Ricco\wa
llpaper.pl line 8.
Unrecognized escape \W passed through at C:\Dokumente und Einstellungen\Ricco\wa
llpaper.pl line 8.
Kann Verz. nicht lesen: at C:\Dokumente und Einstellungen\Ricco\wallpaper.pl lin
e 10.
C:\Dokumente und Einstellungen\Ricco>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#!/usr/bin/perl use strict; use warnings; use File::Copy; my $base_dir = 'C:\Dokumente und Einstellungen\Ricco\Lokale Einstellungen\Anwendungsdaten\Microsoft\Wallpaper\Wallpaper1.jpg'; my $save_dir = 'C:\Dokumente und Einstellungen\Ricco\Lokale Einstellungen\Anwendungsdaten\Microsoft\Wallpaper1.bmp'; opendir (BASE, $base_dir) || die 'Kann Verz. nicht lesen:'; my @dir = grep { $_ !~ /^..?$/ && -f "$base_dir/$_" } readdir(BASE); closedir (BASE); foreach my $file (@dir){ copy("$base_dir/$file", "$save_dir/$file"); }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#!/usr/bin/perl use strict; use warnings; use File::Copy; my $base_dir = 'C:\Dokumente und Einstellungen\Ricco\Lokale Einstellungen\Anwendungsdaten\Microsoft\Wallpaper\Wallpaper1.jpg'; my $save_dir = 'C:\Dokumente und Einstellungen\Ricco\Lokale Einstellungen\Anwendungsdaten\Microsoft\Wallpaper1.bmp'; opendir (BASE, $base_dir) || die "Kann Verz. nicht lesen:"; my @dir = grep { $_ !~ /^..?$/ && -f "$base_dir/$_" } readdir(BASE); closedir (BASE); foreach my $file (@dir){ copy("$base_dir/$file", "$save_dir/$file"); }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
#!/usr/bin/perl use strict; use warnings; # Use the Windows Registry Win32::Registry; # Dir of all useable Wallpapapers my $base_dir = 'C:\Dokumente und Einstellungen\Ricco\Lokale Einstellungen\Anwendungsdaten\Microsoft\Wallpaper\\'; # get the actual Wallpaper from Registry my $filename=$HKEY_CURRENT_USER->Open('Control Panel\Desktop')->GetValue('Wallpaper'); # Get all wallpapers in dir my @files=sort glob("${base_dir}*.*"); # find next wallpaper my $pos=0; # last if the actual walpaper is found in list while($pos<@files) { last if ($filename eq $files[$pos]); $pos++; } # at end of list begin at start. $pos=-1 if($pos>=$#files) # get the next wallpaper in list $pos++; $filename=$files[$pos]; # set the path in registry my $type=$HKEY_CURRENT_USER->Open('Control Panel\Desktop')->GetType('Wallpaper'); my $filename=$HKEY_CURRENT_USER->Open('Control Panel\Desktop')->SetValue('Wallpaper',$type,$filename);
`rundll32.exe user32.dll,UpdatePerUserSystemParameters`
1
2
3
4
5
6
7
8
9
10
11
12
13
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Dokumente und Einstellungen\Ricco>w.pl
Bareword found where operator expected at C:\Dokumente und Einstellungen\Ricco\w
.pl line 12, near "my $filename=$HKEY_CURRENT_USER->Open('Control"
(Might be a runaway multi-line '' string starting on line 9)
(Do you need to predeclare my?)
syntax error at C:\Dokumente und Einstellungen\Ricco\w.pl line 12, near "my $fil
ename=$HKEY_CURRENT_USER->Open('Control Panel"
Bad name after Desktop' at C:\Dokumente und Einstellungen\Ricco\w.pl line 12.
C:\Dokumente und Einstellungen\Ricco>
2009-08-10T12:46:43 jeansHabe es gerade probiert, dann ist aber das hier gekommen:
last if ($filename eq $files[$pos];
last if ($filename eq $files[$pos]);
QuoteWie würdest du das bei Linux realiesieren?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#!/usr/bin/perl use strict; use warnings; use Gnome2::GConf; my $imgdir='/home/topeg/.BILDER/'; my $gpath='/desktop/gnome/background/picture_filename'; my $client = Gnome2::GConf::Client->get_default(); my $img=$client->get_string($gpath); my @imgs=sort glob("$imgdir*.*"); my $cnt=0; while($cnt<@imgs) { last if($img eq $imgs[$cnt]); $cnt++; } $cnt=-1 if($cnt>=$#imgs); $cnt++; $img=$imgs[$cnt]; $client->set($gpath, { type => 'string', data => $img });
2009-09-03T07:30:41 CrianNa ja, Windows versteht das so nicht.Oder du nimmst den Slash, das versteht auch Windows.
2009-09-03T11:39:38 GwenDragon2009-09-03T07:30:41 CrianNa ja, Windows versteht das so nicht.Oder du nimmst den Slash, das versteht auch Windows.
Aber Perl setzt das intern um. ;)
cd zwischen/test