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

Batch- Dateien mit doppeltem String Charater verschieben

Frage Entwicklung Batch & Shell

Mitglied: christianV6

christianV6 (Level 1) - Jetzt verbinden

11.07.2014, aktualisiert 18.07.2014, 1303 Aufrufe, 7 Kommentare, 1 Danke

Hallo zusammen,

ich bitte um eure Hilfe, benötigt wird ein Batch-Tool mit dem man Dateien verschiebt.
Und zwar liegen mir lokal mehrere PDF's vor:
1000040_140.pdf
1000040_798.pdf
2999123_123.pdf
......

Ich möchte jetzt nur die Dateien in einen anderen Ordner verschieben, bei denen die Zeichenkette [die erste 7 Stellen] identisch ist.
Allerdings gibt es auch PDF's die nicht nur 2 mal, sondern auch 20 mal vorkommen, diese sollen dann in einen extra Ordner verschoben werden..

Aufgrund meiner mangelnden Batch Kenntnisse wende ich mich in aller Hoffnung an euch.
LG Christian

Mitglied: Endoro
12.07.2014, aktualisiert um 05:31 Uhr
Hey,
Das hatten wir kürzlich hier ganz ähnlich.
Gruss, Endoro
Bitte warten ..
Mitglied: christianV6
12.07.2014 um 19:12 Uhr
Hey Endoro,

Prima das war schon sehr hilfreich (: danke.
Habe jetzt noch das Problem, das ein extra Ordner erstellt wird und es wird jedes Dokument verschoben.
Ich wollte das nur das die Dokumente verschoben werden die doppelt oder mehrfach vorkommen..

Snippet vom Kollegen: Friemler:

@echo off & setlocal

set "SrcDir=E:\Test"
set "DstDir=E:\Test"

for %%f in ("%SrcDir%\*.pdf") do (
call :ProcessFile "%%~f"
)
exit /b

:ProcessFile
set "FilePath=%~dp1"
set "FileName=%~nx1"
set "Folder=%DstDir%\%FileName:~0,6%"

if not exist "%Folder%" md "%Folder%"
move "%FilePath%%FileName%" "%Folder%\%FileName%" > NUL
exit /b
Bitte warten ..
Mitglied: Endoro
13.07.2014 um 06:57 Uhr
Hey,
Dann müsstest du noch mal genau sagen, was wohin soll:
- String doppelt --> Duplikat in anderen Ordner
- String 20 mal --> was in extra Ordner? Auch was in anderen Ordner?
- was wird mit (String > 2) && (String ≠ 20)?
- weitere Regeln?

Gruss, Endoro.
Bitte warten ..
Mitglied: christianV6
13.07.2014 um 11:48 Uhr
hey,
also Pdf's die nur 2 mal vorkommen sollen in einen Ordner verschoben werden. PDF's die mehrmals vorkommen als 2 mal sollen in einen Ordner verschoben werden und PDF's die nur einem Vorkommen sollen einfach in dem Ordner bleiben. Vielen Dank für die Hilfe schon mal.

LG Grüße Christian
Bitte warten ..
Mitglied: christianV6
17.07.2014, aktualisiert um 10:10 Uhr
So ich hab hier mal was gebastelt:
Es funktioniert leider nocht nicht ganz, das Script erkennt ob sich eine Datei (Bsp: 1054400,_14011233123.pdf) oder mehrere Datein im Ordner befinden.

Leider funktionert die IF Abfrage nocht nicht.
Hoffe Ihr könnt mir weiterhelfen. Danke LG

01.
  
02.
@echo off 
03.
set "search=^" 
04.
setlocal enableDelayedExpansion 
05.
echo(!$1!|findstr /r /c:"!search!" >nul && ( 
06.
  echo FOUND - Es wurden Dateien gefunden 
07.
) || ( 
08.
 echo NOT FOUND - Der Ordner enthält keine Datein ! 
09.
   
10.
11.
pause 
12.
 
13.
:nosource 
14.
Set /P _srcdir="Eingabe des Quellverzeichnis: " 
15.
If NOT Exist "%_srcdir%" Echo Quellverzeichnis %_srcdir% existiert nicht, Eingabe wiederholen&Goto nosource 
16.
Set /P _dstdir="Eingabe des Zielordners: " 
17.
If NOT Exist "%_dstdir%" MD "%_dstdir%" 
18.
:Abfrage 
19.
@echo off 
20.
 
21.
 
22.
IF !search! GTR !search!( 
23.
rem hier ist ein fehler drinne hier sollte eig der Vergelich statt finden ob die Datei Zweimal voranden ist 
24.
 
25.
 echo Ist mehrmals vorhanden die DAtei 
26.
 echo Die Dateien werden nun verschoben!  
27.
 for /R %%a IN (%search%) do move "%%a" "%_dstdir%"  
28.
 
29.
) ELSE ( 
30.
 
31.
echo Datei ist nur einmal vorhanden 
32.
echo Datei bleibt im Ordner 
33.
34.
 
35.
pause
Bitte warten ..
Mitglied: Endoro
LÖSUNG 18.07.2014, aktualisiert um 09:05 Uhr
Hey,
neben der Nutzung von findstr zum Zählen kannst du Arrays verwenden. In diesem Fall wäre der erste Teil des Dateinamens der Index und die Häufigkeiten des Vorkommens die Elemente.
In der Ausgabe des Codes kannst du das nachvollziehen:
01.
@ECHO OFF &SETLOCAL disableDelayedExpansion 
02.
set "Quellordner=test" 
03.
set "Zielordner2=x:\Extra Ordner" 
04.
set "Zielordner3=x:\Anderer Ordner" 
05.
for /f "tokens=1*delims=_" %%a in ('dir /b /a-d "%Quellordner%\*_*.pdf"') do set /a .%%a+=1 
06.
for /f "tokens=1*delims==." %%a in ('set .') do ( 
07.
	<nul set /p "=%%b Datei(en) mit %%a_*.pdf " 
08.
	if %%b equ 1 (echo(keine Aktion) else ( 
09.
		if %%b equ 2 (echo(move "%Quellordner%\%%a_*.pdf" "%Zielordner2%") else ( 
10.
			echo(move "%Quellordner%\%%a_*.pdf" "%Zielordner3%" 
11.
12.
13.
)
Gruss, Endoro.
Bitte warten ..
Mitglied: christianV6
18.07.2014 um 09:08 Uhr
Hey Endoro,

vielen vielen vielen Dank für deine Hilfe, das Script funktioniert super (:
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch zum suchen und verschieben von Dateien
gelöst Frage von zeroblue2005Batch & Shell5 Kommentare

Guten Tag Zusammen, ich benötige eine Batch, die folgendes kann: 1. Suche in bestimmten Dateipfad nach nach Dateien eines ...

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\ ...

Batch & Shell
Batch bestimmte Dateien verschieben ohne Ordnerstruktur
gelöst Frage von OOmatrixOOBatch & Shell14 Kommentare

Hallo. Ich möchte aus mehreren Ordnern und Unterordnern bestimmte Dateien in ein anderes Verzeichnis verschieben. Habe schon dies probiert: ...

Batch & Shell
Per Batch Dateien aus Unterordner verschieben
gelöst Frage von ministaBatch & Shell10 Kommentare

Hallo Zusammen Ich habe folgende Struktur: Ich möchte nun dass alle Dateien aus dem Ordner B und deren Subordner ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 12 StundenBatch & Shell8 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 14 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Batch & Shell
Neuste Datei via PowerShell kopieren
gelöst Frage von kaiuwe28Batch & Shell11 Kommentare

Hallo zusammen, ich hatte mir mit Hilfe der Suche im Forum einen kleinen Code von colinardo rausgesucht und versucht ...