Hé, j'essaye de déplacer plusieurs fichiers d'un dossier à un autre. Dans la ligne FileUtils, j'essaie de rechercher dans tous les dossiers de 4 caractères du dossier de destination, puis de coller le fichier dans le dossier avec le même nom de base que le fichier.
#!/usr/bin/env Ruby
require 'fileutils'
my_dir = Dir["C:/Documents and Settings/user/Desktop/originalfiles/*.doc"]
my_dir.each do |filename|
FileUtils.cp(filename, "C:/Documents and Settings/user/Desktop/destinationfolder/****/" + File.basename(filename, ".doc"))
end
Quelque chose comme ça devrait fonctionner.
my_dir = Dir["C:/Documents and Settings/user/Desktop/originalfiles/*.doc"]
my_dir.each do |filename|
name = File.basename('filename', '.doc')[0,4]
dest_folder = "C:/Documents and Settings/user/Desktop/destinationfolder/#{name}/"
FileUtils.cp(filename, dest_folder)
end
Vous devez en fait spécifier le dossier de destination, je ne pense pas que vous puissiez utiliser des caractères génériques.
*
est un caractère générique qui signifie "n'importe quel nombre de caractères", donc "****
"signifie" n'importe quel nombre de n'importe quel nombre de n'importe quel nombre de n'importe quel nombre de caractères ", ce qui n'est probablement pas ce que vous voulez dire.
?
est le symbole approprié pour "n'importe quel caractère à cette position", donc "????
"signifie" une chaîne de quatre caractères seulement ".