Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Kopieren von txt Dateien in Ordner mit dem Namen der txt Datei

Mitglied: Apeman

Apeman (Level 1) - Jetzt verbinden

08.06.2013, aktualisiert 03:17 Uhr, 1817 Aufrufe, 9 Kommentare

Hallo,

ich möchte mit einer batch Datei alle txt-Dateien aus dem Ordner Texte in den Ordner Neu kopieren, aber dort nicht einfach hinein, sondern immer in einen Unterordner mit dem Namen der darin befindlichen *.txt Datei. (Also : jede txt führt zu einen Ordner mit dem gleichen Namen)

Mein Problem ist jetzt, dass er mir die Ordner nicht erstellt und sie somit auch nicht mit der *.txt Datei füllen kann. Ich sehe aber nicht den Fehler in der Batch.

Bis jetzt bin ich so weit gekommen:


01.
@echo off 
02.
setlocal 
03.
 
04.
for %%i in ("Texte\*.txt") do (  
05.
 
06.
set "k=%%i:~0,-4%" 
07.
 
08.
md "%k%" 
09.
echo %k% 
10.
  
11.
copy "Texte\%i%" "Neu\%k%\%i%" 
12.
13.
pause

Schon mal vielen Dank im Voraus
Mitglied: Endoro
08.06.2013 um 09:26 Uhr
Hallo Apeman,

mein Vorschlag:
01.
@echo off 
02.
cd texte 
03.
for %%i in (*.txt) do ( 
04.
    md "%%~ni" 
05.
    copy "%%~i" "%%~ni" 
06.
)
Jetzt könnte ich noch einen Spruch über die SuFu und Google dalassen, mach ich natürlich nicht, weil ich ein Netter bin.
Ich halt einfach mal die Klappe (Kurt Beck würde sagen "das Maul", aber da bin ich mir doch zu fein für )

Liebe Grüsse.
Bitte warten ..
Mitglied: Apeman
08.06.2013, aktualisiert um 12:42 Uhr
Hallo Endoro,

erst mal vielen Dank für die schnelle Antwort.

Prinzipiell funktioniert dein Vorschlag, das Problem ist nur dass er nicht nur die *.txt aus dem Ordner "Texte" raussucht sondern aus seiner Umgebung (cd ist schlecht weil ich nachher noch in dem alten Ordner etwas machen will) und dann Packt er die Neuen Ordner in den Ordner in dem sich die *.txt's befinden (einsortieren klappt aber).


Ändere ich jetzt den copy Pfad, erstellt er die Ordner findet den neu angelegten Pfad aber nicht.

01.
@echo on 
02.
 
03.
for %%i in (Texte\*.txt) do ( 
04.
    md "Neu\%%~ni" 
05.
    copy "Texte\%%~i" "Neu\%%~ni\" 
06.
)


Und die zweite Sache ist, da ich den Namen der txt ohne die Endung nachher noch brauche, wollte ich ihn gerne als Variable ablegen ,was aber in meinem oberen script nicht klappt. Ich verstehe aber nicht warum.

Gruß

Apeman
Bitte warten ..
Mitglied: Endoro
08.06.2013, aktualisiert um 13:05 Uhr
Also z.B. so (Pfad sollte bei cd angepasst werden):
01.
@echo off 
02.
cd /d "X:\users\user\documents and settings\texte" 
03.
for %%i in (*.txt) do ( 
04.
    set "filename=%%~ni" 
05.
    set "fileextension=%%~xi" 
06.
    setlocal enabledelayedexpansion 
07.
    md "!filename!" 
08.
    copy "!filename!!fileextension!" "!filename!" 
09.
    endlocal 
10.
)
€dit:
Zitat von Apeman:
cd ist schlecht weil ich nachher noch in dem alten Ordner etwas machen will

Da passt pushd:
01.
@echo off 
02.
pushd "X:\users\user\documents and settings\texte" 
03.
for %%i in (*.txt) do ( 
04.
    set "filename=%%~ni" 
05.
    set "fileextension=%%~xi" 
06.
    setlocal enabledelayedexpansion 
07.
    md "!filename!" 
08.
    copy "!filename!!fileextension!" "!filename!" 
09.
    endlocal 
10.
11.
popd   &rem zurück zum Ausgangsordner
Gruss!
Bitte warten ..
Mitglied: Apeman
08.06.2013 um 13:07 Uhr
Super! das kommt dem schon mal sehr nahe.

Mein Problem ist halt noch, dass ich eben schlecht mit cd arbeiten kann (glaube ich zumindest), da ich alles in einem relativen Pfad haben muss und da ich auf die Ebene in der sich die batch befindet noch zugreifen muss. (jede text Datei muss mit einer exe gestartet werden und deren Output aus dem Ordner in dem auch die batch ist kopiert und genauso wie die txts einsortiert werden)

Oder müsste ich dann in der Schleife mit „cd“ immer hin und her springen?

Wenn ich das so versuche zu adaptieren:

01.
@echo off 
02.
setlocal 
03.
 
04.
 
05.
for %%i in ("Texte\*.txt") do (  
06.
 
07.
    set "filename=%%~ni" 
08.
    set "fileextension=%%~xi" 
09.
    setlocal enabledelayedexpansion 
10.
    md "Neu\!filename!" 
11.
  
12.
    copy "Texte\!filename!!filenameextension!" "Neu\!filename!" 
13.
    endlocal 
14.
15.
 
sagt er mir er kann den Ordner nicht finden

ich hätte vielleicht sofort sagen sollen was ich noch alles damit machen will.

Gruß
Bitte warten ..
Mitglied: Apeman
08.06.2013 um 13:23 Uhr
da haben wir wohl relativ zeitgleich geschrieben.

Um auf deinen Edit ein zu gehen:

Auch da packt er dann die neuen Ordner in den "Texte" Ordner, sie sollen aber in den Ordner "Neu", so wie ich es immer wieder in meinen Scripten versuche.
Dort findet er aber die neu angelegte Ordnerstruktur nicht und ich sehe den Fehler nicht

Ordner Struktur:

/batch Darin befindet sich die batch
/batch/Texte darin sind die Texte
/batch/Neu da sollen die neuen ordner und die neuen txt's rein
Bitte warten ..
Mitglied: Apeman
08.06.2013 um 13:44 Uhr
Ich hab es hinbekommen.

Dank deines Tipps mit:

setlocal enabledelayedexpansion

Klappt das Script jetzt so wie ich es haben möchte.

01.
@echo off 
02.
 
03.
for %%i in (Texte\*.txt) do ( 
04.
    set "filename=%%~ni" 
05.
    set "fileextension=%%~xi" 
06.
    setlocal enabledelayedexpansion 
07.
     
08.
    md "Neu\!filename!" 
09.
     
10.
    copy "Texte\!filename!!fileextension!" "Neu/!filename!" 
11.
    endlocal 
12.
)
Vielen Dank!!!!
Bitte warten ..
Mitglied: Endoro
08.06.2013 um 13:51 Uhr
In Batch kannst du einfach so eine Variable verwenden, ohne sie zu deklarieren.
Sie wird dann als Leerstring oder im Fall von set /a mit "0" initialisiert:

01.
copy "Texte\!filename!!filenameextension!" "Neu\!filename!" 
In diesem Fall ist !filenameextension! einfach leer.

Gruss!
Bitte warten ..
Mitglied: Apeman
08.06.2013 um 15:33 Uhr
Ah ok.

Vielen Dank nochmal!!

Meinetwegen kann der Thread dann auch geschlossen werden
Bitte warten ..
Mitglied: bastla
09.06.2013, aktualisiert um 00:47 Uhr
... wobei (wie von Endoro oben gezeigt) die zusätzlichen Variablen (und damit "delayedExpansion") ja gar nicht nötig wären, und mit "xcopy" auch automatisch der Zielordner erstellt würde:
01.
@echo off 
02.
 
03.
for %%i in (Texte\*.txt) do xcopy "%%i" "Neu\%%~ni\"
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Kopieren von Dateien aus .txt Liste
Frage von mippselBatch & Shell2 Kommentare

Hallo zusammen, ich habe folgendes Problem: Von den über 2000 pdf/docx Dateien würde ich mir gerne gewisse Dateien in ...

Batch & Shell

Ordner von einem Verzeichnis in ein anderes Verzeichnis kopieren und Datei-Name verändern

gelöst Frage von gudboyBatch & Shell15 Kommentare

Ich habe ein "Verzeichnis A" mit Ordner. Die Ordner haben immer eine "F-Nummer" und einen Titel wie z.B. " ...

Batch & Shell

Dateien kopieren, rekursiv in einen Ordner

gelöst Frage von golsinBatch & Shell9 Kommentare

Hallo und noch ein Frohes neues Jahr ;-) Ich bin mal wieder etwas ratlos Ich Versuche von einem Rechner ...

Batch & Shell

Dateien mit bestimmtem Inhalt im Namen kopieren

gelöst Frage von pblackyBatch & Shell2 Kommentare

Ich habe in einem Ordner folgende log Dateien liegen 2018-02-20_162254_UBIMET8GB.log 2018-02-20_170006_UBIMET8GB.log 2018-02-21_053402_UBIMET8GB.log 2018-02-21_170005_UBIMET8GB Gestoppt .log 2018-02-21_175857_UBIMET8GB Fehler .log 2018-02-21_180245_UBIMET8GB.log 2018-02-21_181652_UBIMET8GB.log 2018-02-21_181712_UBIMET8GB.log Wenn in ...

Neue Wissensbeiträge
Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 7 StundenSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 7 StundenMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 7 StundenHardware10 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

MikroTik RouterOS

Mikrotik Advisory: Vulnerability exploiting the Winbox port

Information von colinardo vor 7 StundenMikroTik RouterOS

Brand aktuell: Eine Schwachstelle im Winbox-Port bei Mikrotik Routern erlaubt das Auslesen der User-Datenbank der Router. Patch ist aktuell ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux23 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL16 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...

Windows Server
Domänencontroller trennen
Frage von Akit57Windows Server13 Kommentare

Hallo, ich hoffe das mir hier jemand meine Frage trotz der spärlichen Informationen die ich geben kann beantworten kann: ...

Router & Routing
Gesichertes NTP, wie z.B. NTPsec oder andere Variante bei Fritzboxen möglich ?
Frage von BruniumRouter & Routing11 Kommentare

Aktueller Zustand: Verwendung von ungesicherten NTP mit Fritzbox Gewünschter Zustand: Verwendung von gesicherten NTP mit Fritzbox Frage: Was gibt ...