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
GELÖST

Dateien wegsichern und umbennennen

Frage Entwicklung Batch & Shell

Mitglied: ChrisM73

ChrisM73 (Level 1) - Jetzt verbinden

24.09.2008, aktualisiert 14:37 Uhr, 3616 Aufrufe, 13 Kommentare

Hallo ich habe einen Ordner mit 5915 Verzeichnissen. In jedem dieser Verzeichnisse gibt es einen Ordner namens 200. Darin befindet sich eine *.tif Datei.
Diese *.Tif soll mit laufender Nummer wegkopiert werden. So dass ich danach im Verzeichnis 1.tif , 2.tif, 3.tif stehen habe???

wie kann ich das machen?

so sieht die Ordnerstruktur aus:
1363dd2445889afaab217330d01c7585-ordnerstruktur - Klicke auf das Bild, um es zu vergrößern
Mitglied: Farbauti
24.09.2008 um 10:46 Uhr
Hallo,

a) heißt die TIF Datei in jedem Verzeichnis 1.tif, also muss umbenannt werden oder sind die Datei-Namen schon eindeutig?
b) suchst du ein Skript (zum immer wieder ausführen) oder nur eine einmalige Aktion?
Im letzteren Fall nutze einfach die Windowssuche (nach .tif), markiere alle Treffer (Strg+A) und kopiere die in dein Zielverzeichnis.

Gruß, Farbauti.
Bitte warten ..
Mitglied: miniversum
24.09.2008 um 10:57 Uhr
Ungetestet würd ichs mal so versuchen:
01.
@echo off 
02.
set "quelle="C:\Rücksicherung 6000 Faxe" 
03.
set "ziel=C:\Alle Faxe" 
04.
set nr=0 
05.
FOR /F "delims=" %%i in ('dir /B /S "%quelle%\*.tif"') do goto:copyit "%%~i" 
06.
goto:eof 
07.
 
08.
:copyit 
09.
set /a nr=%nr%+1 
10.
if not exist "%ziel%\%nr%.tif" ( 
11.
copy "%~1" "%ziel%\%nr%.tif" 
12.
goto:eof 
13.
) else ( 
14.
goto:copyit 
15.
)
Bitte warten ..
Mitglied: ChrisM73
24.09.2008 um 11:05 Uhr
a)die heissen alle 1.tif
b)geht ja in dem Fall leider nicht...
Bitte warten ..
Mitglied: ChrisM73
24.09.2008 um 11:19 Uhr
Hallo Miniversum,
danke erstmal, wenn ichs ausführ sagt er mir:
ausgabe vom Programm: "else" ist syntaktisch an dieser stelle nicht verarbeitbar.

habe leider festgestellt das es in manchen Verzeichnissen auch 2. tif, 3.tif, 4.tif gibt, die sollten auch kopiert werden...
Bitte warten ..
Mitglied: miniversum
24.09.2008 um 11:33 Uhr
Bei dieser Batch werden alle tifs, egal wie sie heißen, aufgesammelt und kopiert.
01.
@echo off 
02.
set "quelle="C:\Rücksicherung 6000 Faxe" 
03.
set "ziel=C:\Alle Faxe" 
04.
set nr=0 
05.
FOR /F "delims=" %%i in ('dir /B /S "%quelle%\*.tif"') do goto:copyit "%%~i" 
06.
goto:eof 
07.
 
08.
:copyit 
09.
set "file=%~1" 
10.
:nrup 
11.
set /a nr+=1 
12.
if exist "%ziel%\%nr%.tif" goto:nrup 
13.
if not exist "%ziel%\%nr%.tif" copy "%file%" "%ziel%\%nr%.tif" 
14.
goto:eof
Bitte warten ..
Mitglied: ChrisM73
24.09.2008 um 11:50 Uhr
hm jetzt führt er es zwar kurz aus, ohne Fehlermeldung, macht aber leider gar nix...
Bitte warten ..
Mitglied: miniversum
24.09.2008 um 13:44 Uhr
Da war ich jetzt unaufmerksam. Ändere mal in Zeile 5 das
goto:copyit "%%~i"
in
call:copyit "%%~i"
Bitte warten ..
Mitglied: ChrisM73
24.09.2008 um 13:47 Uhr
hm leider das selbe Ergebnis...
Bitte warten ..
Mitglied: miniversum
24.09.2008 um 13:56 Uhr
Ich habs gerade bei mir so getestet:
01.
@echo off 
02.
set "quelle=C:\Rücksicherung 6000 Faxe" 
03.
set "ziel=C:\Alle Faxe" 
04.
set nr=0 
05.
FOR /F "delims=" %%i in ('dir /B /S "%quelle%\*.tif"') do call:copyit "%%~i" 
06.
goto:eof 
07.
 
08.
:copyit 
09.
set "file=%~1" 
10.
:nrup 
11.
set /a nr+=1 
12.
if exist "%ziel%\%nr%.tif" goto:nrup 
13.
if not exist "%ziel%\%nr%.tif" copy "%file%" "%ziel%\%nr%.tif" 
14.
goto:eof
Und es geht so bei mir.

Zu testzwecken kannst dus ja mal so versuchen:
01.
@echo off 
02.
set "quelle=C:\Rücksicherung 6000 Faxe" 
03.
set "ziel=C:\Alle Faxe" 
04.
set nr=0 
05.
FOR /F "delims=" %%i in ('dir /B /S "%quelle%\*.tif"') do call:copyit "%%~i" 
06.
goto:eof 
07.
 
08.
:copyit 
09.
set "file=%~1" 
10.
echo Verarbeite "%file%" 
11.
:nrup 
12.
set /a nr+=1 
13.
echo Existiert "%ziel%\%nr%.tif" ? 
14.
if exist "%ziel%\%nr%.tif" ( 
15.
echo Ja 
16.
goto:nrup 
17.
18.
if not exist "%ziel%\%nr%.tif" ( 
19.
echo Nein, Datei wird kopiert und in "%nr%.tif" umbenannt. 
20.
copy "%file%" "%ziel%\%nr%.tif" 
21.
22.
pause 
23.
goto:eof
Hier sollten Meldungen kommen was gemacht wird. Nach jeder Datei die verarbeitet wurde kommt eine Pause inder du kontrollieren kannst wo der Fehler liegt.
Bitte warten ..
Mitglied: ChrisM73
24.09.2008 um 14:04 Uhr
die funzen beide nicht, beim 2ten sagt er Syntaxfehler wenn ichs in ner dosbox aufrufe...
hab nur bei mir die Pfade auf E: gelegt, aber das sollte ja keine Rolle spielen oder?
Bitte warten ..
Mitglied: miniversum
24.09.2008 um 14:16 Uhr
Die Pfadangabe sollte egal sein.
Ändere mal das echo off in echo on. Dann solltest du sehen was er macht und wo genau es hängt
Bitte warten ..
Mitglied: ChrisM73
24.09.2008 um 14:24 Uhr
hey super. jetzt klappt es, in Zeile 2 war ein " zuviel und mit dem ü in Rücksicherung hat er wohl Probleme gehabt. Vielen, vielen Dank.
Bitte warten ..
Mitglied: miniversum
24.09.2008 um 14:37 Uhr
Achja jetzt sehe ich das " zuviel auch. Das ändere ich oben im Code noch.
Das mit dem ü kannst du umgehen indem du nach dem echo off folgende zeile noch einbaust:
chcp 1252 >NUL
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Sticky Notes - Autostart unterbinden

Tipp von Pedant zum Thema Windows 10 ...

Ähnliche Inhalte
Microsoft Office
gelöst 3 Excel Dateien, gleich umkodieren? (5)

Frage von Akeipra zum Thema Microsoft Office ...

Batch & Shell
Automatisch dateien die sich in einem Ordner befinden, zippen (6)

Frage von cdm1970 zum Thema Batch & Shell ...

Batch & Shell
Maximale Größe zu verarbeitender txt-Dateien mit Batch (5)

Frage von Muck1303 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Base64 Decode (Batch,VBS) (26)

Frage von clragon zum Thema Batch & Shell ...

Flatrates
DeutschlandLAN der Telekom - welche internen IPs? (19)

Frage von qualidat zum Thema Flatrates ...

Linux
gelöst Schmaler Scrollbalken in Python-Anwendung (14)

Frage von indi955 zum Thema Linux ...