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 Textdateien automatisch erstellen und nach Ordner benennen

Mitglied: striding

striding (Level 1) - Jetzt verbinden

25.11.2013 um 20:32 Uhr, 2726 Aufrufe, 10 Kommentare, 1 Danke

Hallo Administrator-Community!

Ich stelle hier meine Frage, weil ich von Batch-Dateien leider keine Ahnung habe, sie aber warscheinlich mein "Problem" lösen.

Ich habe eine externe Festplatte mit einem Haufen Unterordner. Da ich sie nicht immer an- und abstöpseln möchte, würde ich mir gerne für jeden Ordner eine Text-Datei mit dem gleichen Namen erstellen.
Ein Beispiel:
Ordnername: Winterurlaub (2012)
Daraus möchte ich ein Textdokument mit dem gleichen Name (Winterurlaub (2012).txt) machen. Also einfach nur ein leeres Textdokument, mit einem Namen.
Am besten eine Batchdatei, die aus allen Unterordnern jeweils eine Testdatei erstellt.
Ist soetwas überhaupt möglich?
Wann ja, könnte mir jemand weiterhelfen?

Freundliche Grüße

Striding
Mitglied: schmitzi
25.11.2013 um 21:18 Uhr
na klar. Sollte gehen.

Wo sollen die TXTs denn landen ?
(Denke, auf der lokalen Platte, und nicht auf der USB (nennen wir es U wegen abklemmen)

OK. Sollen die TXTs (sagen wir mal auf C "flach" in EINEM Ordner landen ?
(was ein Problem bei gleichen Ordnernamen in unterschiedlichen Ordnern ergeben würde)

Oder soll die Ordnerstruktur der USB-HDD quasi LEER abgebildet und in jedem
Zielordner halt nicht die Dateien, sondern nur die eine, jeweilige TXT stehen ?
Bitte warten ..
Mitglied: bastla
25.11.2013 um 21:20 Uhr
Hallo striding und willkommen im Forum!

An sich durchaus machbar - offen ist aber jedenfalls die Frage, ob diese Dateien alle in einem einzigen Ordner erstellt werden sollen, und wenn ja, was bei Namensgleichheit geschehen sollte ...

... und außerdem: Sollen diese Dateien auch einen Inhalt haben?

Grüße
bastla
Bitte warten ..
Mitglied: striding
25.11.2013 um 21:40 Uhr
Danke für die schnelle Antwort!
Das klingt schonmal super!
Ja, auf dem Desktop sind sie immer schnell zu finden.

Dass sie in einem Ordner landen, wäre ideal, als ich die Ordner nach und nach erstellt habe, habe ich darauf geachtet, dass kein Name doppelt vorkommt.

Hm, es sollten keine neuen Ordner erstellt werden, nur Textdokumente mit dem Namen des jeweiligen Ordners, wobei die Textdatei leer ist.
Bsp:
Aus dem Ordner "Winterurlaub (2012)" (200MB) (Pfad: F (oder U):\Urlaubsbilder)
soll "Winterurlaub (2012).txt" (0Bytes) (Pfad: C:\Users\XY\Desktop\ExterneFestplatte_F\Urlaubsbilder) werden.
Aus dem Ordner "Sommerurlaub (2012)" (150MB) (Pfad: F (oder U):\Urlaubsbilder)
soll "Sommerurlaub (2012).txt" (0Bytes) (Pfad: C:\Users\XY\Desktop\ExterneFestplatte_F\Urlaubsbilder) werden
Bitte warten ..
Mitglied: bastla
25.11.2013, aktualisiert um 21:57 Uhr
Hallo striding!

Wenn demnach die Ordnerstruktur übernommen werden soll (dann kann es auch keine Kollisionen mit gleichen Namen geben), (ungetestet) etwa so:
01.
@echo off & setlocal
02.
set "Quelle=F:\"
03.
set "Ziel=%userprofile%\Desktop\ExterneFestplatte_F"
04.

05.
for /d /r "%Quelle%" %%i in (*) do set "Pfad=%%~fi" & call :ProcessDir "%%i"
06.
goto :eof
07.

08.
:ProcessDir
09.
call set "PfadRel=%%Pfad:%Quelle%=%%"
10.
md "%Ziel%\%PfadRel%\" 2>nul && copy nul "%Ziel%\%PfadRel%\%~nx1">nul
11.
goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: striding
25.11.2013 um 23:00 Uhr
Hallo bastla!
Vielen Danke für die Hilfe!

Habe es natürlich gleich ausprobiert, und es funktioniert im Großen und Ganzen.
Zwei Sachen sind mir aber aufgefallen:

Zum einen sind das in den Ordnern keine Text-Dateien, sondern Dateien ohne Endungen.

Zum anderen sind Ordner erstellt worden, was von Dir auch beabsichtigt war. Das war mein Fehler, da ich den Ordner auf dem Desktop genauso genannt habe.
Ich versuche nochmal ein Beispiel zu geben bzw das vorhandene zu verbessern:

Aus dem Ordner "Winterurlaub (2012)" (200MB) (Pfad: F:\Urlaubsbilder\2012)
soll "Winterurlaub (2012).txt" (0Bytes) (Pfad: C:\Users\XY\Desktop\ExterneFestplatte_F\) werden.

Die Ordnerstrukturen sollen nicht übernommen werden, es sollen alle Daten die sich auf F:\ befinden, in den einen Ordner auf dem Desktop (ExterneFestplatte_F) zusammengeschmissen werden.

Falls man eine "Sicherung" vor Kollisionen bei Namen einbauen muss, wäre der gleiche Name mit einem "_01", "_02" super. Zwei Stellen sollten ausreichen.
Bsp:
Antigua_Barbuda_DSC149
Antigua_Barbuda_DSC149_01
Antigua_Barbuda_DSC149_02
Bitte warten ..
Mitglied: schmitzi
25.11.2013, aktualisiert um 23:52 Uhr
Hi, nur falls das interessant ist, hiermit kannst Du Dir ein Textfile mit der Ordnerstruktur erstellen:
(bei englischen Windows muss Du "Verzeichnis von" noch übersetzen)
01.
@ECHO OFF
02.
SETLOCAL EnableDelayedExpansion
03.
MD C:\BATCHES
04.

05.
SET SOURCEFOLDER=U:\
06.
SET TARGETFILE=C:\Batches\verzeichnisliste.txt
07.
SET KOMMANDO=dir %SOURCEFOLDER% /s
08.

09.
REM DELETE AND GENERATE TARGETFILE
10.
ECHO LIST OF MY DIRECTORIES ON %SOURCEFOLDER%  -  %DATE% - %TIME:~0,-3% >%TARGETFILE%
11.
ECHO =============================================================================== >>%TARGETFILE%
12.

13.
REM LOOP-DI-LOOP
14.
FOR /f "tokens=* delims=" %%a IN ('%KOMMANDO% ^|find "Verzeichnis von"') DO (
15.
                 CALL :SPLITSTRING "%%a"
16.
)
17.
GOTO ENDE
18.

19.
REM EXTRACT FOLDERNAME FROM STRING
20.
:SPLITSTRING
21.
SET TMPSTRING=%1
22.
SET RESULTSTR=%TMPSTRING:~18,-1%
23.
ECHO %RESULTSTR% >>%TARGETFILE%
24.
goto :EOF
25.

26.

27.
:ENDE
28.
pause
29.
@ECHO.
30.
type %TARGETFILE%
31.
@ECHO.
32.

33.
pause
REM VIEL SPASS >>:O)
Bitte warten ..
Mitglied: bastla
25.11.2013 um 23:06 Uhr
Hallo striding!

Dann also eher:
01.
@echo off & setlocal
02.
set "Quelle=F:\"
03.
set "Ziel=%userprofile%\Desktop\ExterneFestplatte_F"
04.

05.
md "%Ziel%" 2>nul
06.
for /d /r "%Quelle%" %%i in (*) do call :ProcessDir "%%i"
07.
goto :eof
08.

09.
:ProcessDir
10.
set "Suffix="
11.
set /a Nr=1000
12.
:Test
13.
if not exist "%Ziel%\%~nx1%Suffix%.txt" goto :Schreiben
14.
set /a Nr+=1
15.
set "Suffix=_%Nr:~-2%"
16.
goto :Test
17.

18.
:Schreiben
19.
copy nul "%Ziel%\%~nx1%Suffix%.txt">nul
20.
goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: bastla
25.11.2013, aktualisiert um 23:24 Uhr
Hallo schmitzi!

Nur für den Fall, dass es mal schnell gehen muss:
dir /s/b/ad "%SOURCEFOLDER%">>"%TARGETFILE%"
... und "delayedExpansion" wäre auch nicht nötig gewesen ...

Grüße
bastla
Bitte warten ..
Mitglied: schmitzi
25.11.2013 um 23:35 Uhr
Hi Bastla,

ach, deshalb sind meine Batches immer gleich 5 Kilometer lang :O))

Aber warum einfach wenn es auch komplizert geht

Danke für den Hinweis, wer /? eingeben kann ist klar im Vorteil :O)

Gruss
RS

</flachs>
PS: oder man gibt format u /s ein, dann kann man die Liste auch schnell von Hand schreiben.
</flachs>
Bitte warten ..
Mitglied: striding
25.11.2013 um 23:36 Uhr
Perfekt!
Danke euch beiden basta und schmitzi!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Bestimmte Zeilen einer Textdatei automatisch löschen

gelöst Frage von ElHuttiBatch & Shell6 Kommentare

Hallo, Ich möchte in einem Programm, das Einträge in eine TXT schreibt, immer nur eine bestimmte Anzahl an Einträgen ...

Batch & Shell

Spoiler in textdatei automatisch über Powershellscript einfügen

Frage von Dr.ByteBatch & Shell5 Kommentare

Hallo leibe Admins, ich habe folgende Datei im txt-Format. center img /img Preview: url img /img /url Beschreibungstext Keywords: Keywords1, Keywords2, Keywords3, b 3 ...

Windows 8

Textdatei umformatieren

gelöst Frage von bladeyyyWindows 81 Kommentar

Hey, Ich habe folgendes Problem: Ein Programm exportiert bei mir eine Textdatei in dem Format: erste Zeile mit unnötigem ...

Batch & Shell

Filtern von Textdatei

gelöst Frage von MaxPauerBatch & Shell2 Kommentare

Hallo Zusammen, ich hätte ein Problem bei welchem ihr mir hoffendlich helfen könnt. Ich ich will eine Liste erstellen ...

Neue Wissensbeiträge
Windows 10

Windows 10 - Programme laufen schneller, wenn Sie mit Administratorrechten ausgeführt werden !

Erfahrungsbericht von 1Werner1 vor 5 StundenWindows 106 Kommentare

Moin, das wollte ich erst nicht glauben, aber es ist so. Wenn Ihr ein Programm mit Administratorrechten unter Windows ...

Sicherheits-Tools
Putty hat heftige Bugs korrigiert!
Information von Lochkartenstanzer vor 1 TagSicherheits-Tools5 Kommentare

Moin, Wie man aus herauslesen kann, sind in den Versionen vor 0.71 gravierende Bugs, die es angeraten erscheinen lassen, ...

Off Topic
Sachen die die Welt nicht braucht - Platz 1
Tipp von brammer vor 4 TagenOff Topic21 Kommentare

Hallo, ich habs als Tipp angelegt als Erfahrungsbericht nein Danke brammer

Humor (lol)
Spirit of Health-Kongress in Berlin
Information von AnkhMorpork vor 4 TagenHumor (lol)6 Kommentare

tgif! Beim dritten Spirit of Health-Kongress trafen sich am Wochenende Alternativmediziner und Naturheilkundler im Maritim Hotel Berlin, um sich ...

Heiß diskutierte Inhalte
Windows Server
Eingeschränkte Gruppen - Spezielle Benutzergruppe hinzufügen
Frage von killtecWindows Server17 Kommentare

Hallo, ich möchte gerne folgendes Realisieren: Ich habe bei mir Eingeschränkte Gruppen via GPO aktiv und möchte nun der ...

Microsoft Office
Videodateien auf Windows Server 2008 R2 öffnen schlägt fehl
Frage von SchroediMicrosoft Office13 Kommentare

Hallo zusammen, wir haben das Problem das embedded Videos in PowerPoint (O365) auf unserer Citrix Farm (6.5) nicht abgespielt ...

DNS
Größere DNS Probleme nach zweitem DC. Eigentlich sollte es auch dadurch besser werden
Frage von TeWutzDNS13 Kommentare

Hallo zusammen, nachdem ich letzte Woche erfolgreich einen zweiten DC ) an den Start gebracht habe melden sich weiterhin ...

LAN, WAN, Wireless
Switch als Verbindung von 2 Netzwerken
gelöst Frage von Lutz-ReLAN, WAN, Wireless12 Kommentare

Guten Tag Ich hab folgendes Problem 2 Rechner und 2 IP Kameras sind ohne dhcp in einen IP4 Netzwerk ...