Willkommen im cgboard - classic games Forum! Deine gemütliche Retro Gaming Community. Besuche uns auch im Discord Chat.

[Suche] Ordner nach Dateinamen erstellen und automatisch verschieben
#1
0
Hi,
wie der Titel schon sagt, suche ich nach einem Programm (oder evtl. geht das ja auch mit einer Batch), dass mir Ordner erstellt, mit dem Dateinamen und die Datei dann auch in diesen erstellten Ordner verschiebt.

Also so z.B.
Dateiname: Blubbakrawumm.wav
Ordnername: Blubbakrawumm (dieser Ordner wird erstellt, da die .wav ja so heißt)
und dann wird die .wav automatisch in diesen erstellten Ordner verschoben.

Vielen Dank für jede Hilfe. Yeah
Alle meine Installer Games sind down. Sie werden wieder kommen Wink
Zitieren
#2
0
Da kann ich ja eine kürzere Variante aus dem Thread von Pobeller hier reinkopieren:

Code:
@echo off
chcp 1252
setlocal enableextensions disabledelayedexpansion
FOR /f "tokens=*" %%G IN ('dir /b') DO (call :subroutine "%%G")
echo Alles erledigt
exit /b 0

:subroutine
For %%A in (%1) do (
    Set Folder=%%~dpA
    Set FullName=%%~nxA
    Set Name=%%~nA
    Set Extension=%%~xA
)
if exist "%FullName%\*" (
    echo Überspringe Ordner "%FullName%"
    exit /b 0
) else (
    if "%Extension%"==".bat" (
        echo Überspringe Batchdatei "%FullName%"
        exit /b 0
    )
)
if not exist "%Name%" (
    mkdir "%Name%"
)
move "%FullName%" "%Name%"
exit /b 0

Die Datei muss als ANSI gespeichert werden.

Das Batch-Skript funktioniert grundsätzlich, hat aber Probleme mit fremden Schriftsätzen (deutsche Umlaute gehen aber). Deshalb würde ich in der heutigen Zeit auch eine Variante in PowerShell empfehlen, kann dafür aber keine Zeilen liefern.
Zitieren
#3
1
Hi,

@echo off
setlocal EnableDelayedExpansion

for /F "tokens=*" %%y in ('dir /B /A-D') do (
set z=%%y
if not "!z!"=="#dir.bat" md "!z:~0,-4!"
if not "!z!"=="#dir.bat" move "!Z!" .\"!z:~0,-4!" >nul
)



Diese paar Zeilen machen auch sowas.
Die Batchdatei muss   #dir.bat  heißen und muss in das zu bearbeitende Verzeichnis kopiert werden.
Zitieren
#4
0
Unter Linux:
PHP-Code:
#!/bin/sh
for file in *.*
do
    dir="${file%.*}"
    mkdir -"$dir"
    mv "$file" "$dir"
done 
Auch hier gilt: Die ausführbare Shellskript-Datei in das zu bearbeitende Verzeichnis kopieren. Am besten einen prägnanten Namen geben, da diese ebenfalls in ein gleichnamiges Verzeichnis verschoben wird.

Mit Kommentare
PHP-Code:
#!/bin/sh
for file in *.* # Alle Dateien vom Verzeichnis werden eingelesen
do
    dir="${file%.*}# Die Namen für die jeweiligen Verzeichnisse werden erfasst
    mkdir -"$dir# Falls sie noch nicht existieren, werden neue Verzeichnisse nach den Dateinamen erstellt
    mv "$file" "$dir# Die Dateien werden in die gleichnamigen Verzeichnisse verschoben
done 
[Bild: bug.gif]
Dt. Text-Patch für die engl. Uncut-Version von ›IHNMIMS‹
https://ihnm.blogspot.com/Thread
Zitieren
#5
0
@donald: Mein Held ^^. Ich danke dir für deine Hilfe, wie schon in der Vergangenheit Smile

@all: Aber auch euch ein herzliches Dankeschön für die Tipps und Hilfen.
Alle meine Installer Games sind down. Sie werden wieder kommen Wink
Zitieren
#6
0
Hi,



bitte gerne.

Ich hoffe es genügt auch so.


Ist nur eine Schleife mit der DIR Abfrage, nur Dateinamen ohne Verzeichnisse werden "angezeigt".

Alles was nicht wie die Startbatch heißt wird in ein gleichnamiges, erstelltes Verzeichnis verschoben.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Sunshine und Moonlight goodsubarita 1 212 24.12.2023, 13:22
Letzter Beitrag: goodsubarita
  [Frage] WINN 11 Explorer nach Update Menüleiste vertauscht Commodus 4 396 18.10.2023, 18:34
Letzter Beitrag: Corsafahrer
  [Frage] DT lite Laufwerk nach Auswerfen automatisch entfernen Commodus 6 756 07.05.2023, 12:10
Letzter Beitrag: goodsubarita
  [Frage] Batch Scripting Dateien verschieben Pobeller 37 3.876 14.12.2022, 05:06
Letzter Beitrag: Pobeller
  [Frage] Beim Laptop zuklappen automatisch Anzeige auf Monitor 2 duplizieren? Commodus 4 1.203 03.10.2022, 13:56
Letzter Beitrag: Commodus

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste