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

Begrenzte Anzahl von Dateien verschieben

Frage Entwicklung Batch & Shell

Mitglied: rallelin

rallelin (Level 1) - Jetzt verbinden

13.08.2010 um 17:15 Uhr, 5004 Aufrufe, 2 Kommentare

Moin moin werte Leser,
als Kaufmann, der sich eher selten in der Bash umtut, fehlt mir leider der Durchblick, das nachfolgende Problem in den Grifff zu bekommen.
Wenn jemand eine entsprechende Idee zur Lösung hat, würde ich mich über eine Rückmeldung sehr freuen und danke schon jetzt...

Szenario:
Es existiert ein Verzeichnis mit einer hohen, jedoch unbestimmten Anzahl von Dateien (alles xml), die blockweise (z.B. jeweils 5 Dateien)
in ein anderes Verzeichnis verschoben werden sollen, um dort von einem anderen Programm weiter verarbeitet werden zu können.
Cron-gesteuert wird dann nach der Weiterverarbeitung der nächste Block verschoben.

Das äussere Gerüst steht schon und ist ausgetestet - jetzt muss ich nur noch die 5 Dateien irgendwie verschoben bekommen.
Anfangs dachte ich, es könnte mit einer Schleife per "for i in ..." funktionieren. Allerdings hält die Variable dann jedoch *alle* Dateinamen.
Obwohl ich noch nie mit Arrays experimentiert habe, glaube ich, dass die Fragestellung hierüber erledigt werden könnte...
Mitglied: pieh-ejdsch
14.08.2010 um 01:12 Uhr
moin rallelin und Willkommen im Forum

wenn die Dateizahl ins unbekannte geht würde ich mit einer Liste Arbeiten.

diese Liste wird erstellt, wenn noch keine Vorhanden ist
die Anzahl kann ausgewählt werden
wenn die Liste Leer bzw nicht mehr da ist - wird automatisch eine neue angelegt

Vorteil: das Verzeichnis wird nicht jedesmal neu durchgeackert
Nachteil: wenn neue Dateien ins Verzeichnis kommen werden diese erst abgearbeitet wenn die Liste durch ist (kann natürlich auch ein Vorteil sein je nach dem)
01.
::----snipp----Dateien-Blockweise-verschieben 
02.
@echo Off 
03.
set Woher="D:\ein Verzeichnis" 
04.
set "Dorthin=D:\das andere Verzeichnis" 
05.
set "Dateityp=*.xml" 
06.
 
07.
pushD %Woher% 
08.
 
09.
del "%temp%\tmp" 2>nul 
10.
if exist "%temp%\tmp2" (move "%temp%\tmp2" "%temp%\tmp">nul ) else dir /b %Dateityp%>"%temp%\tmp" 
11.
 
12.
::Der Parameter enspricht den Maximalen BlockVerschub ( call :move 10 )entspricht Maximal 10 Dateien 
13.
call :move 5 
14.
popD 
15.
goto :eof 
16.
 
17.
 
18.
:move 
19.
set "Nr=1" 
20.
:: zum scharfmachen das @ECHO entfernen 
21.
for /f "usebackq delims=" %%i in ("%temp%\tmp") do (@ECHO move "%%i" "%Dorthin%\" 
22.
	setlocal enabledelayedexpansion 
23.
	if !Nr! == %1 endlocal & set "Nr=1"&more +%1 "%temp%\tmp">"%temp%\tmp2"&goto :eof 
24.
	endlocal & set /a Nr+=1 
25.
26.
::----snapp----Dateien-Blockweise-verschieben
Gruß Phil
Bitte warten ..
Mitglied: rallelin
14.08.2010 um 06:46 Uhr
Hallo Phil,

danke für Deine Mühe.
Sieht für mich aus, als wäre das ein Batch (call, goto usw.) - hilft mir in der Bash (#!/bin/bash) daher nur bedingt weiter.
Mal schauen, ob ich das irgendwie angepasst bekomme...

Nochmals danke,
Ralf

Nachtrag (16.08.2010): Problem wurde mit einem zweiten Script "umgangen";
das Shell-Script arbeitet wie bisher und übergibt an ein gesondertes Perl-Script,
welches über 'readdir' und 'rename' die noch ausstehende Aktion durchführt.
Bitte warten ..
Ähnliche Inhalte
Exchange Server
Exchange 2010 Begrenzte Anzahl an Usern mit gleichzeitigem Vollzugriff
Frage von hannsgmaulwurfExchange Server8 Kommentare

Hallo, ich habe ein Konto info@meinedomain.de im Exchange 2010 und möchte gern allen Usern (ca. 30) Vollzugriff erteilen, so ...

Batch & Shell
Verschieben von bestimmter Anzahl von Dateien aus vollem Ordner dauert zu lange
gelöst Frage von mkdeluxeBatch & Shell2 Kommentare

Hallo zusammen, ich hoffe ihr könnt mir helfen, ich bin nach langer Zeit mal wieder im Batch-Umfeld unterwegs (sonst ...

Batch & Shell
Batch Datei zum verschieben von Dateien aus Unterordnern ?
gelöst Frage von Ghostrider1911Batch & Shell10 Kommentare

Hallo, ich bräuchte eine Batch Datei die Dateien aus Unterordnern verschiebt. Also ich habe folgende Verzeichniss Struktur: Z:\Dateien\Ordner1\M1\ Z:\Dateien\Ordnärx\M1\ ...

Windows Server
Möglichkeit Anzahl von Dateien in einem Ordner beschränken?
Frage von e51bomagWindows Server5 Kommentare

Ich würde gerne folgendes Realisieren: Nutzer sollen in einem Ordner nur eine Datei ablegen dürfen und danach ist der ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 1 TagWindows 105 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 TagenInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 TagenDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
Frage von HelloWorldBatch & Shell16 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

Windows Server
Ping auf einen bestimmten Server nicht möglich
gelöst Frage von a.thierWindows Server7 Kommentare

Hallo, ich habe folgendes Problem. srv-dc1: Ping srv-nav > geht Ping srv-exchange > geht nicht srv-exchange: Ping srv-dc1 > ...

Hardware
Fujitsu Workstation mit K80 und Quadro P5000, Fehlermeldung: Connect Power Adapter
Frage von MachelloHardware7 Kommentare

Hallo Zusammen, ich benötige euren Rat da ich ratlos bin. Folgende Konfiguration im Büro: Fujitsu Workstation Celcius R940 Power ...