# Kod pokazuje, w jaki sposb skopiowa plik lub katalog 
# i zmieni jego nazw (w przypadku interfejsu WMI rwnoznaczne przeniesieniu) 

use Win32::OLE;
$Win32::OLE::Warn = 3;

# ------ KONFIGURACJA SKRYPTU ------
$strComputer = '.';
$strCurrentFile = '<ciekaIstniejcegoPliku>';# cieka istniejcego pliku lub katalogu
$strNewFile = '<ciekaNowegoPliku>';# cieka nowego pliku lub katalogu
# ------ KONIEC KONFIGURACJI ---------
$objWMI = Win32::OLE->GetObject('winmgmts:\\\\' . $strComputer . '\\root\\cimv2');
$objFile = $objWMI->Get('Cim_Datafile=\'' . $strCurrentFile . '\'');
print "Renaming $strCurrentFile to $strNewFile\n";
$intRC = $objFile->Rename($strNewFile);
if ($intRC != 0) {
    print 'Podczas zmiany nazwy wystpi bd: ' . $intRC, "\n";
}
else {
    print "Operacja zmiany nazwy zostaa zakoczona powodzeniem.\n";
}

# ------ KONFIGURACJA SKRYPTU ------
$strComputer = '.';
$strCurrentFile = '<ciekaIstniejcegoPliku>';
# cieka istniejcego pliku lub katalogu
$strNewFile = '<ciekaNowegoPliku>';
# cieka nowego pliku lub katalogu
# ------ KONIEC KONFIGURACJI ---------
$objWMI = Win32::OLE->GetObject('winmgmts:\\\\' . $strComputer . '\\root\\cimv2');
$objFile = $objWMI->Get('Cim_Datafile=\'' . $strCurrentFile . '\'');
print "Kopiowanie pliku $strCurrentFile do $strNewFile\n";
$intRC = $objFile->Copy($strNewFile);
if ($intRC != 0) {
    print 'Podczas kopiowania wystpi bd: ' . $intRC, "\n";
}
else {
    print "Operacja kopiowania zostaa zakoczona powodzeniem.\n";
}
