Le tri des fichiers photo prend du temps et des efforts. C'est Korejanai qui oublie le numéro ou tente de l'imprimer en le sélectionnant. Ou regarder des photos inutiles. Je veux voir uniquement les fichiers dont j'ai besoin! De plus, j'ai fait quelque chose comme ça pour ma propre commodité parce que je voulais le régler facilement.
Lorsque vous démarrez ceci (★★★ .EXE) à partir de la visionneuse de photos, il créera ★★★ sur le dossier actuel et le déplacera vers ★★★.
Par exemple
Supposons que vous ayez des fichiers de 001.JPG à 005.JPG avec cette structure de dossiers.
CANON001/ └ jpg ├ 001.jpg ├ 002.jpg ├ 003.jpg ├ 004.jpg ├ 005.jpg
Dans cet état, si vous démarrez ★★★ en sélectionnant 003.jpg dans la visionneuse de photos, un dossier ★★★ sera créé dans la même ligne que JPG comme indiqué ci-dessous et 003.jpg sera déplacé.
CANON001/ └ jpg ├ 001.jpg ├ 002.jpg ├ 004.jpg ├ 005.jpg ├ ★★★ ├ 003.jpg
En raison des caractéristiques de la visionneuse de photos, le fichier déplacé répétera les photos et les images du dossier que vous visualisez, de sorte que vous ne pouvez pas voir le fichier déplacé à moins que vous ne changiez le dossier que vous visualisez.
En d'autres termes, après le déplacement, la visionneuse de photos ne fait référence qu'aux fichiers suivants.
└ jpg ├ 001.jpg ├ 002.jpg ├ 004.jpg ├ 005.jpg
Si vous regardez les images du dossier ★★★ après le déplacement, vous ne pouvez voir que les fichiers suivants.
├ ★★★ ├ 003.jpg
Certaines préparations (environnement où JAVA peut être exécuté, relance de la visionneuse de photos) sont nécessaires, mais il est très facile de trier les photos en seulement 2 clics (1. Ouvrir → 2. ★★★).
Le traitement Exe est effectué par launch4j etc. http://launch4j.sourceforge.net/
Reportez-vous à cette zone pour activer la visionneuse de photos. La modification du registre est simple et rapide. https://popozure.info/20190823/14633
Je suis sûr que vous ne voulez que le fichier exécutable Vous pouvez obtenir le fichier exécutable en le téléchargeant à partir d'ici. https://drive.google.com/open?id=1dKcispHr8_D81kaPRgID7oKf27bEMfvS
starSelector.java
import java.io.*;
import java.util.logging.*;
public class starSelector {
public static final String LOGFILE = "StarSelector.log";
public static void main(String[] args) {
try {
final Logger logger = Logger.getLogger("starSelector");
try {
//Spécifiez le fichier de sortie
FileHandler fh = new FileHandler("starSelector.log", true);
//Spécifiez le format de sortie
fh.setFormatter(new java.util.logging.SimpleFormatter());
logger.addHandler(fh);
} catch (IOException e) {
e.printStackTrace();
}
File file = new File(args[0]);
File parentDir = new File(file.getParent());
//System.out.println("Nom du répertoire parent du parent: " + parentDir.getParent());
String strParentDir = file.getParent();
String strFileName = file.getPath();
String strStarDir = "★★★";
File moveNewFolder = new File(parentDir.getParent() + "\\" + strStarDir);
//Vérifier le fichier de lecture
if (!file.exists() || !file.canRead()) {
logger.log(Level.WARNING, "Le fichier spécifié n'existe pas");
return;
}
if (file.getParent() == null) {
logger.log(Level.INFO, "Le fichier du répertoire de base est spécifié. Impossible de spécifier le répertoire parent");
return;
}
//Contrôle de la direction
if (parentDir.getParent() == null) {
logger.log(Level.INFO, "Le fichier du répertoire de base est spécifié. Impossible de spécifier le dossier de destination");
return;
}
moveNewFolder.mkdir();
//Déplacer des fichiers
File file2 = new File(parentDir.getParent() + "\\" + strStarDir + "\\" + file.getName());
try {
if (file.renameTo(file2)) {} else {
logger.log(Level.WARNING, "Échec du déplacement du fichier");
}
} catch (SecurityException e) {
logger.log(Level.WARNING, e.toString());
} catch (NullPointerException e) {
logger.log(Level.WARNING, e.toString());
}
} catch (ArrayIndexOutOfBoundsException err) {
System.out.println("Comment utiliser: java starSelector <Fichiers à déplacer>");
return;
}
}
}