getuemii
Goto Top

Dateien mit gleichem Namen und unterschiedlichen Endungen finden

Hallo,

die aktuelle Situation sieht folgendermaßen aus: Meine User verschicken recht große Mailattachments und haben gelernt, diese Dateien per Kontextmenue --> Senden an --> ZIP-komprimierten Ordner zu komprimieren. Allerdings reicht in vielen Fällen der Umgang mit (und das Verständnis für) ZIP nicht wirklich weiter; das Löschen der Originaldatei scheint eine nicht zu überwindende Hürde zu sein.

In einem einzelnen Ordner liegt also
a) die Datei dateiname.zip und
b) die Datei datiename.dwg (oder .dxf oder .plt oder so).
Bei dxf-Files mit 90MB unkomprimiert macht das auf Dauer nicht wirklich glücklich.

Ich benötige also ein Batch, das mir ab einem bestimmten Startordner jeden Unterordner nach xxxx.zip durchsucht und ermittelt, ob im selben Unterordner zusätzlich eine gleichnamige Datei mit anderer Endung liegt. Der Name dieser Datei sollte incl. des (relativen) Pfades in ein Textfile geschrieben werden.

Hat jemand von euch zu so einen Problem vielleicht schon was gemscht oder ein kurzes Gerüst? Ich habe hier gerade gefühlten Montagmorgen (und keine Ruhe zum Scripteln).

Gruß, geTuemII

Content-ID: 53970

Url: https://administrator.de/contentid/53970

Ausgedruckt am: 22.11.2024 um 00:11 Uhr

Biber
Biber 13.03.2007 um 16:17:39 Uhr
Goto Top
Moin geTuemII,

eigentlich wollte ich Dir den auf der CeBIT persönlich in das Händchen drücken, ....
aber Du hörst dich so unsäglich kläglich montäglich an...
::---Snipp geTuemII.bat optParam1 StartDir optParam2:Dateiname [Ext=Zip wird unterstellt]
@for /R %1 %%i in ("%2*.zip") do @(  
    for /f "delims=" %%j in ('dir /a-d /b "%%~dpni.*"^|find /i /v ".zip"') do @echo "%%i": %%~dpi%%j  
)   
Beispiel: Suche unterhalb von D:\temp bezogen auf alle T*.zip's nach gleichnamigen Dateien im gleichen Verzeichnis:
>f:\temp\geTuemII.bat d:\temp t
"d:\temp\down\Tigerneu.zip": "d:\temp\down\Tigerneu.doc"  

Ausnahmsweise getestete Skizze

Liebe Grüsse
Biber
geTuemII
geTuemII 13.03.2007 um 16:26:09 Uhr
Goto Top
eigentlich wollte ich Dir den auf der CeBIT persönlich in das
Händchen drücken, .... ....aber Du hörst dich so unsäglich kläglich montäglich an...

Achja, da war ja auch noch was... kläglich? Kann man das schon lesen? Oje!

Jedefalls danke, ich hoffe, damit komme ich weiter.

geTuemII
bastla
bastla 13.03.2007 um 16:27:47 Uhr
Goto Top
Hallo geTuemII!

Von mir noch die Variante mit relativem Pfad (wobei als Parameter der absolute Pfad des Verzeichnisses erwartet wird):
@echo off & setlocal enabledelayedexpansion
set "Start=%~1"  
if [%Start:~-1%] neq [\] set "Start=%Start%\"  
for /r "%Start%" %%i in (*.zip) do call :ProcessFile "%%i"  
goto :eof
:ProcessFile
for /f "delims=" %%d in ('dir /b "%~dpn1.*" ^|findstr /v /c:"%~nx1"') do (  
	set "File=%~dp1%%d"  
	echo !File:%Start%=!
)
Aufruf also mit
GetMeThoseUnneccessaryAlreadyZippedFilesWithRelativePath.bat "D:\Test für Zips\Files"  

Grüße
bastla
Biber
Biber 13.03.2007 um 16:36:11 Uhr
Goto Top
@bastla
GetMeThoseUnneccessaryAlreadyZippedFilesWithRelativePath.bat "D:\Test für Zips\Files"

Wer solche Dateinamen hat, der braucht keine Kommentarzeilen....

Sind in Vi$ta eigentlich endlich mehrseitige Dateinamen erlaubt?

Grüsse
Biber
bastla
bastla 13.03.2007 um 16:38:55 Uhr
Goto Top
@Biber

Ich musste doch Zeit schinden, sonst nennst Du mich wieder Rechtsüberholer ... face-wink

Grüße
bastla
geTuemII
geTuemII 13.03.2007 um 17:04:59 Uhr
Goto Top
@Biber:
Sind in Vi$ta eigentlich endlich mehrseitige Dateinamen erlaubt?
Wenn ich es weiß, erfährtst du es als erster face-smile

@bastla:
Danke, aber darf ich den Namen auch noch minimal abkürzen, ich habe hier XP und Bibers Anfrage ist noch ungetestet face-wink

geTuemII
bastla
bastla 13.03.2007 um 17:09:13 Uhr
Goto Top
@geTuemII

Was kommt denn so dabei raus, wenn Du minimal (nach maximal frage ich gleich gar nicht) kürzt?

Grüße
bastla
Biber
Biber 13.03.2007 um 17:11:37 Uhr
Goto Top
@geTuemII
...jetzt drängeln und kürzen?

Hättest Du damals von Anfang an Deine User (und Userinnen) besser erzogen, wären diese schrecklichen Oneliner (und Onelinerinnen) niemals nötig gewesen...

*Nur mal klarstell*
Biber
geTuemII
geTuemII 13.03.2007 um 20:13:17 Uhr
Goto Top
@bastla:
Ich habe mich für AlreadyZippedFiles.bat entschieden.

@Biber:
Hättest Du damals von Anfang an Deine User (und Userinnen) besser erzogen
Gerne nehme ich dein Angebot an, meine User so zu schulen, daß sie das erworbene (?) Wissen dann auch anwenden. Ich werde mich dann zu gegebener Zeit melden. ;->

Im Moment läuft das Script, mal sehen, was es zutage fördert....

geTuemII
Biber
Biber 13.03.2007 um 20:36:27 Uhr
Goto Top
@geTuemII

Na, da bin ich auch gespannt, was herauskommt...
Ich habe es bei mir auch mal kurz laufen gelassen... und obwohl ich diese Arbeitsweise mit Mailattachments gezippt versenden selten habe (die meisten Dokumente bei uns werden nur intern ausgetauscht und von daher als Links versendet), habe ich auch ein Dutzend Fälle von aus dem Intra/Internet heruntergeladenen *.zip-Dateien, die eigentlich nur ein fast gleich grosses und gleichnamiges *.pdf oder *.xls enthalten.

Diese Trümmer liegen/lagen auch unbemerkt rum... ein bisschen was sammelt sich schon an.

Ich hoffe, das Zu-Tage-Fördern dauert nicht die ganze Nacht face-wink

Schönen und baldigen Feierabend
Biber
geTuemII
geTuemII 13.03.2007 um 20:50:24 Uhr
Goto Top
Ich hoffe, das Zu-Tage-Fördern dauert nicht die ganze Nacht face-wink
Das ist mir eigentlich egal, ich hab das Script gestartet, den Rechner gesperrt und bin gegangen. Schließich kann der das doch alleine. Ich habe gerade mal nach dem dabei generierenten Textfile geguckt, bis jetzt sind es 1100 Dateien und Ordner.

Schönen und baldigen Feierabend
Hab ich schon, ich hoffe, du auch.

geTuemII