[JAVA] Übertragen Sie automatisch Animationen für jeden Titel und speichern Sie sie in einem Ordner

Vorwort

Da der Entwurf voll ist, werde ich ihn vorerst veröffentlichen Die Glaubwürdigkeit des Inhalts kann ein wenig aufgrund dessen sein, was ich in der Vergangenheit getan habe. Aber es ist eine Verschwendung, es zu löschen, also habe ich es gepostet.

Hauptthema

Nachdem ich mit Chinachu aufgenommen hatte, lud ich es auf Windows herunter und verschlüsselte es in mp4. Als jedoch die Anzahl der Dateien zunahm, wollte ich sie organisieren.

Was soll man damit machen?

  1. Extrahiere alle mp4 im angegebenen Ordner ** ← bat file **
  2. Extrahieren Sie hier Text vor Leerzeichen im Dateinamen ** ← Java **
  3. Suchen Sie nach demselben Ordner wie der in 2 extrahierte Text.
  4. Erstellen Sie, wenn derselbe Ordner nicht vorhanden ist
  5. Verschieben Sie die Datei in den entsprechenden Ordner

Code

animeSelection.bat

animeSelection.bat


@echo off

#Mp4 im entsprechenden Ordner mp4 FileName.In txt speichern
dir C:\ Benutzer \ izumi \ Videos \ Anime \*.mp4 /a-d /b > mp4FileName.txt

# mp4FileName.Nehmen Sie txt Zeile für Zeile und geben Sie es an Java weiter
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]; //Argumente speichern
		String title = null;
		System.out.println(filename);
		
		int i = filename.indexOf(" "); //Leere Position in voller Breite erhalten
		if(i == 0){
			System.out.println("Das entsprechende Zeichen kann nicht gefunden werden.");
		} else {
			System.out.println("Die Endposition ist" + i + "ist.");
			
			title = filename.substring(0, i); //Vor dem Rohling abschneiden
			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;
		
		//Überprüfen Sie die Dateien im Ordner
		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 + "hätten.");
					moveDir(title, dir, filename); //Wenn ein Ordner vorhanden ist, speichern Sie die Datei mit moveDir
					break;
				}
			}
			if(j == ll-1){
				makeDir(title, dir);
				moveDir(title, dir, filename);
			}
		}
	}


	private static void makeDir(String title, File dir) {
		//Erstellen Sie einen Ordner
		File newdir = new File(dir + "/" + title);
		if(newdir.mkdir()){
			System.out.println("ooooo Ordnererstellung erfolgreich ooooo");
		} else {
			System.out.println("xxxxx Ordnererstellung fehlgeschlagen xxxxx");
		}
	}

	private static void moveDir(String title, File dir, String filename) {
		//Speichern Sie die Datei im entsprechenden Ordner
		System.out.println("Ich werde die Datei verschieben.");
		try{
			Path sourcePath =Paths.get(dir + "/" + filename);
			Path tergetPath = Paths.get(dir + "/" + title + "/" + filename);
			System.out.println(sourcePath + "Zu" + tergetPath + "Gehe zu.");
			Files.move(sourcePath, tergetPath);
			System.out.println("Erfolgreicher Umzug");
		} catch (IOException e) {
			e.printStackTrace();
			System.out.println("Fehler verschieben");
		}
	}

}

Recommended Posts

Übertragen Sie automatisch Animationen für jeden Titel und speichern Sie sie in einem Ordner
In Java 2D-Karte speichern und mit for-Anweisung drehen
[Java] Machen Sie die Variablen der erweiterten for-Anweisung und für jede Anweisung unveränderlich
[Lernaufzeichnung] Ich habe die aktuelle Zeit mit Ruby erhalten und für jedes Mal eine andere Begrüßung ausgegeben.