Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
Kommentar vom Moderator Biber am 21.03.2012 um 09:57:20 Uhr
Dateien mit bestimmter Endung suchen, in eine Liste schreiben, kopieren und unbenennen.
Set /a rgc += 1
#803
Die erste messages_de.properties soll in 1_messages_de.properties unbenannt werden.
Set /a rgc += 1
#804

Dateien mit bestimmter Endung suchen, in eine Liste schreiben, kopieren und unbenennen.

Frage Entwicklung Batch & Shell

Mitglied: daZza92

daZza92 (Level 1) - Jetzt verbinden

19.03.2012, aktualisiert 21.03.2012, 3132 Aufrufe, 2 Kommentare

Es soll ein Verzeichnis mit allen Unterverzeichnissen durchsucht werden

Hallo,

ich würde gerne das realisieren, was im Thread Titel steht. Einen Teil habe ich schon selbst hinbekommen, bin jetzt aber ins Stocken geraten. Hier mein Code:


@echo off
setlocal
set DIR=C:\Users\admin\Desktop\test
set OUTPUTDIR=C:\results
dir /b /s *_de.properties > c:\test\test.txt
for /R %DIR% %%a in (*_de.properties) do xcopy "%%a" "%OUTPUTDIR%"


Dieser Code kopiert mir schonmal alle Dateien mit *_de.properties in mein Zielverzeichnis. Das Problem ist allerdings, das die meisten Dateien messages_de.properties heißen und in hunderten Ordern liegen. Das Batch würde also alle Dateien immer wieder überschreiben bzw hält an und fragt mich, ob ich überschreiben möchte.
Ziel ist es also die Dateien vor dem kopieren umzubenennen und ein Logfile zu erstellen, in welchem der neue Name und der alte Pfad steht, damit ich es später wieder zurückkopieren kann.

Beispiel:

Die erste messages_de.properties soll in 1_messages_de.properties unbenannt werden.
Die zweite in 2_messages_de.properties
usw.

In der Logdatei soll dann stehen:

1_messages_de.properties C:\test\1\
2_messages_de.properties C:\test\2\
usw.

Ist soetwas möglich? Wäre über jede Hilfe dankbar.
Mitglied: mak-xxl
19.03.2012 um 16:35 Uhr
Moin daZza92,

das könnte folgende Batchdatei erledigen:

01.
@echo off & setlocal enabledelayedexpansion 
02.
set fext=.xls 
03.
chcp 1252 > NUL 
04.
set /a i=1 
05.
for /f "delims=" %%f in ('dir /s /b *%fext%') do echo "%%f" "C:\Test\datei_!i!%fext%" >> cplist.dat & set /a i+=1 
06.
chcp 850 
07.
for /f "delims=" %%f in (cplist.dat) do xcopy.exe %%f
Die datei<cplist.dat> ist Auftragsliste für den Copyjob und Logbuch zugleich. Das VZ "C:\Test" muss vorhanden sein. Rest anpassen.

Viel Erfolg und freundliche Grüße von der Insel - Mario
Bitte warten ..
Mitglied: daZza92
19.03.2012 um 16:48 Uhr
Danke, habe s mittlerweile aber mit folgendem Skript geschafft:

@echo off
setlocal enabledelayedexpansion
set "SOURCEDIR=C:\Users\admin\Desktop\test"
set "OUTPUTDIR=C:\results"
set num=0
pushd "%sourcedir%"
for /f "delims=" %%a in ('dir /b /s /a-d *_de.properties') do (
set /a num=num+1
set n=0000!num!
set n=!n:~-4!
copy "%%a" "%OUTPUTDIR%\!n!_%%~nxa" >nul
>>"%outputdir%\log.txt" echo "!n!_%%~nxa" "%%~dpa"
)
popd
Bitte warten ..
Ähnliche Inhalte
Vmware
gelöst Dateien auf eine VM im EXSi kopieren (3)

Frage von Stefan007 zum Thema Vmware ...

Batch & Shell
gelöst Dateien aus einer Liste anhand verschiedener Parameter kopieren (5)

Frage von gnumpf21 zum Thema Batch & Shell ...

Batch & Shell
gelöst XML-Datei: Pfade suchen, verlinkte Dateien kopieren und Pfade ändern (4)

Frage von ELEVATOR zum Thema Batch & Shell ...

Batch & Shell
gelöst Nach bestimmten Ordner namen suchen und in einem anderem Pfad kopieren (8)

Frage von erdgnrft zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Exchange Server
Email in Exchange an 2ten Empfänger senden (13)

Frage von MultiStorm zum Thema Exchange Server ...

Verschlüsselung & Zertifikate
gelöst Festplattenverschlüsselung im Ausland (13)

Frage von Nicolaas zum Thema Verschlüsselung & Zertifikate ...

Windows Server
gelöst Microsoft-Lizenz CALs und passendes Server-Betriebssystem (13)

Frage von planetIT2016 zum Thema Windows Server ...

Festplatten, SSD, Raid
gelöst Fehlerhafte Blöcke im RAID 10 (12)

Frage von Kojak-LE zum Thema Festplatten, SSD, Raid ...