1

こんにちは、これは私の最初の Haskell コードです

import Data.List
import Data.Function

import System.IO
import System.Directory
import System.FilePath.Windows

import Control.Monad
import Text.Printf

main = do

    all <- getDirectoryContents "."
    cd  <- takeBaseName `fmap` getCurrentDirectory
    let sorted    = zip[1..] . sort . filter ((isPrefixOf `on` reverse) ".jpg") $ all

    forM_ sorted $ \(i,x) -> do

        let z = if odd i then 1 else 2
        let q = ceiling (fromIntegral i / 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))

しかし、それは本当にひどいです

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

このコードはどのように私の写真を削除しますか? どうすれば修復できますか?ありがとう...

4

1 に答える 1