From Raku's `rename` man-page: "Note: some renames will always fail, such as when the new name is on a different storage device. See also: move."
https://docs.raku.org/routine/rename HTH, Bill. PS. If you want Raku code fitting a 'create-backup; unlink-original; copy-backup-to-original-location' strategy, look here: https://unix.stackexchange.com/questions/749558/remove-exact-line-from-file-if-present-leave-the-rest-of-lines-error-handling/749581#749581 > On Apr 3, 2025, at 19:05, ToddAndMargo via perl6-users <perl6-us...@perl.org> > wrote: > > > On Thu, Apr 3, 2025 at 2:14 AM ToddAndMargo via perl6-users <perl6- > > us...@perl.org <mailto:perl6-us...@perl.org>> wrote: > > > > And another IO ffunctio that does ot work: > > > > RotateArchives: renaming directory > > \\192.168.240.10\oldserver\Backup\MyDocsBackup\backup6 to > > \\192.168.240.10\oldserver\Backup\MyDocsBackup\backup4 > > > > Failed to rename > > 'C:\192.168.240.10\oldserver\Backup\MyDocsBackup\backup6' to > > 'C:\192.168.240.10\oldserver\Backup\MyDocsBackup\backup4': Failed to > > rename file: no such file or directory > > > > rename put a freaking C: on teh unc path. > > > > Another call to powershell. Poop! > > > > > On 4/3/25 12:08 PM, yary wrote: >> The first 3 characters of the error is telling you the problem >> C:\192 >> it's same as in another thread, use Q[\\192 ... instead of '\\192 ... , so >> that you preserve the backslashes. > > That other thread had that path in a variable. Raku messed > with the variable when I made the IO call. And I > can not put a variable into a Q[]. AAAAAA HHHH !!!! > >> OR >> double each backslash- `\\\\192.168.240.10\\oldserver ... and then you can >> keep using variables as you normally do. >> -y > > Hi Yary, > > This is a glaring bug. > > The call was > rename $Oldpath $NewPath > > $OldPath was `\\192.168.240.10\oldserver\Backup\MyDocsBackup\backup6` > $NewPath was `\\192.168.240.10\oldserver\Backup\MyDocsBackup\backup4` > > Once I have something added to a variable, it is HANDS OFF. DO > NOT MESS WITH IT. Before then, it is appreciated. BUT NOT AFTER! > > Not only did rename mess with my variables, but it added `C:` to it. > > If the powers-that-be ever decide to fix IO under Windows, any workaround I > do to get around the current situation will > be broken. And back to chasing ghosts again. > > My solution is to add powershell calls to my NativeWinUtils.rakumod > and use them instead of raku's IO calls. > > An example: > > sub DirectoryExists( Str $DirPath --> Bool ) { > # $Full DirPath format is > \\192.168.240.10\oldserver\Backup\MyDocsBackup\backup > my $SubName = &?ROUTINE.name; > my Str $RtnStr = RunCmd "powershell Test-Path $DirPath", True; > $RtnStr = $RtnStr.chomp; > if $CommandLine.debug { print "$SubName: powershell Test-Path returned > <$RtnStr> for <$DirPath>\n\n"; } > if $RtnStr.lc.contains( "true" ) { return True; } else { return False; } > } > > Oh ya, and the above actually works! > > Forgive my being crabby. I have been coding on this project > for over a week. It was only suppose to take a day. I have > been CHASING GHOSTS. I am really, really tired. Now I have > to remove all of the IO calls from my code and replace them > with calls to powershell. AAAA HHHH !!!!!! At least I > have finally figured out what was going wrong. > > Thank you for the help! > > -T > > > > > >