[JAVA] Transférez automatiquement les animations pour chaque titre et stockez-les dans un dossier

Préface

Le brouillon étant complet, je le posterai pour le moment La crédibilité du contenu peut être un peu à cause de ce que j'ai fait dans le passé. Mais c'est du gâchis de l'effacer, alors je l'ai posté.

Sujet principal

Après avoir enregistré avec chinachu, je l'ai téléchargé sur Windows et je l'ai encodé en mp4. Cependant, à mesure que le nombre de fichiers augmentait, je voulais les organiser.

Que faire avec ceci

  1. Extrayez tous les mp4 dans le dossier spécifié ** ← bat file **
  2. Extrayez le texte avant les espaces dans le nom du fichier ** ← java ** à partir d'ici
  3. Recherchez le même dossier que le texte extrait en 2.
  4. Créez si le même dossier n'existe pas
  5. Déplacez le fichier dans le dossier correspondant

code

animeSelection.bat

animeSelection.bat


@echo off

#Mp4 dans le dossier correspondant mp4 FileName.Stocker en txt
dir C:\ Utilisateurs \ izumi \ Vidéos \ Anime \*.mp4 /a-d /b > mp4FileName.txt

# mp4FileName.Prenez le txt ligne par ligne et passez-le à java
for /f %%a in (mp4FileName.txt) do ( ^
  java animeSelection.animeBatch %%a
  timeout 3
)

animeSelection.java

animeSelection.java


package animeSelection;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class animeBatch {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String filename = args[0]; //Stocker les arguments
		String title = null;
		System.out.println(filename);
		
		int i = filename.indexOf(" "); //Obtenir une position vierge pleine largeur
		if(i == 0){
			System.out.println("Le caractère correspondant est introuvable.");
		} else {
			System.out.println("La position finale est" + i + "est.");
			
			title = filename.substring(0, i); //Couper avant le flan
			System.out.println(title);
		}
		
		
		File dir = new File("c://Users/izumi/Videos/Anime");
		File[] list = dir.listFiles();
		System.out.println(list.length);
		
		int ll = list.length;
		
		//Vérifiez les fichiers dans le dossier
		for (int j = 0; j < ll; j++){
			if(list[j].isFile()){
				//System.out.println("[F] " + fn.getName());
			} else if(list[j].isDirectory()){
				//System.out.println("[D] " + fn.getName());
				String dname = list[j].getName();
				System.out.println("dname: " + dname);
				System.out.println("title: " + title);
				if(dname.equals(title)){
					System.out.println(title + "eu.");
					moveDir(title, dir, filename); //S'il y a un dossier, stockez le fichier avec moveDir
					break;
				}
			}
			if(j == ll-1){
				makeDir(title, dir);
				moveDir(title, dir, filename);
			}
		}
	}


	private static void makeDir(String title, File dir) {
		//Créer un dossier
		File newdir = new File(dir + "/" + title);
		if(newdir.mkdir()){
			System.out.println("ooooo création de dossier réussie ooooo");
		} else {
			System.out.println("xxxxx La création du dossier a échoué xxxxx");
		}
	}

	private static void moveDir(String title, File dir, String filename) {
		//Stockez le fichier dans le dossier correspondant
		System.out.println("Je vais déplacer le fichier.");
		try{
			Path sourcePath =Paths.get(dir + "/" + filename);
			Path tergetPath = Paths.get(dir + "/" + title + "/" + filename);
			System.out.println(sourcePath + "À" + tergetPath + "Aller à.");
			Files.move(sourcePath, tergetPath);
			System.out.println("Déménagement réussi");
		} catch (IOException e) {
			e.printStackTrace();
			System.out.println("Échec du déplacement");
		}
	}

}

Recommended Posts

Transférez automatiquement les animations pour chaque titre et stockez-les dans un dossier
Stocker dans une carte Java 2D et tourner avec pour instruction
[Java] Rendre les variables de l'instruction for étendue et de chaque instruction immuables
[Enregistrement d'apprentissage] J'ai obtenu l'heure actuelle avec Ruby et j'ai sorti un message d'accueil différent à chaque fois.