How does haskell code remove my photos by rename? -


hello first haskell code

import data.list import data.function  import system.io import system.directory import system.filepath.windows  import control.monad import text.printf  main =      <- getdirectorycontents "."     cd  <- takebasename `fmap` getcurrentdirectory     let sorted    = zip[1..] . sort . filter ((isprefixof `on` reverse) ".jpg") $      form_ sorted $ \(i,x) ->          let z = if odd 1 else 2         let q = ceiling (fromintegral / 2.0 )          printf "  %s --> %s.%d.%d.jpg\n" x cd (q::int) (z::int)         renamefile x (printf "%s.%d.%d.jpg" cd (q::int) (z::int)) 

but works horrible

d:\contrib\rnm\bin>rnm.exe   bin.1.1 - копия (10).jpg --> bin.1.1.jpg   bin.1.1 - копия (11).jpg --> bin.1.2.jpg   bin.1.1 - копия (12).jpg --> bin.2.1.jpg   bin.1.1 - копия (13).jpg --> bin.2.2.jpg   bin.1.1 - копия (14).jpg --> bin.3.1.jpg   bin.1.1 - копия (15).jpg --> bin.3.2.jpg   bin.1.1 - копия (16).jpg --> bin.4.1.jpg   bin.1.1 - копия (17).jpg --> bin.4.2.jpg   bin.1.1 - копия (18).jpg --> bin.5.1.jpg   bin.1.1 - копия (19).jpg --> bin.5.2.jpg   bin.1.1 - копия (2).jpg --> bin.6.1.jpg   bin.1.1 - копия (3).jpg --> bin.6.2.jpg   bin.1.1 - копия (4).jpg --> bin.7.1.jpg   bin.1.1 - копия (5).jpg --> bin.7.2.jpg   bin.1.1 - копия (6).jpg --> bin.8.1.jpg   bin.1.1 - копия (7).jpg --> bin.8.2.jpg   bin.1.1 - копия (8).jpg --> bin.9.1.jpg   bin.1.1 - копия (9).jpg --> bin.9.2.jpg   bin.1.1 - копия.jpg --> bin.10.1.jpg   bin.1.1.jpg --> bin.10.2.jpg  d:\contrib\rnm\bin>rnm.exe   bin.1.2.jpg --> bin.1.1.jpg   bin.10.1.jpg --> bin.1.2.jpg   bin.10.2.jpg --> bin.2.1.jpg   bin.2.1.jpg --> bin.2.2.jpg   bin.2.2.jpg --> bin.3.1.jpg   bin.3.1.jpg --> bin.3.2.jpg   bin.3.2.jpg --> bin.4.1.jpg   bin.4.1.jpg --> bin.4.2.jpg   bin.4.2.jpg --> bin.5.1.jpg   bin.5.1.jpg --> bin.5.2.jpg   bin.5.2.jpg --> bin.6.1.jpg   bin.6.1.jpg --> bin.6.2.jpg   bin.6.2.jpg --> bin.7.1.jpg   bin.7.1.jpg --> bin.7.2.jpg   bin.7.2.jpg --> bin.8.1.jpg   bin.8.1.jpg --> bin.8.2.jpg   bin.8.2.jpg --> bin.9.1.jpg   bin.9.1.jpg --> bin.9.2.jpg   bin.9.2.jpg --> bin.10.1.jpg  d:\contrib\rnm\bin>rnm.exe   bin.1.1.jpg --> bin.1.1.jpg   bin.1.2.jpg --> bin.1.2.jpg   bin.10.1.jpg --> bin.2.1.jpg 

how code remove photos? , how can repair it? thanks...

how code remove photos?

documentation renamefile says:

renamefile old new changes name of existing file system object old new. if new object exists, atomically replaced old object.

so on second step, when rename bin.10.2.jpg --> bin.2.1.jpg, old bin.2.1.jpg file lost. , when later have bin.2.1.jpg --> bin.2.2.jpg, renaming file used bin.10.2.jpg , losing old bin.2.2.jpg. , on.

and how can repair it?

use temporary names can't clash existing files, or temporary folder.


Comments

Popular posts from this blog

Delphi XE2 Indy10 udp client-server interchange using SendBuffer-ReceiveBuffer -

Qt ActiveX WMI QAxBase::dynamicCallHelper: ItemIndex(int): No such property in -

Enable autocomplete or intellisense in Atom editor for PHP -