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 objectold
new
. ifnew
object exists, atomically replacedold
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
Post a Comment