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, 3615 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
Ähnliche Inhalte
Windows 10
gelöst Werden Dateien beim Ersetzen wirklich überschrieben? (3)

Frage von Nexder zum Thema Windows 10 ...

Windows 7
Dateien umbenennen Unterschiede in Win7 und XP (3)

Frage von mani55 zum Thema Windows 7 ...

Instant Messaging
Messenger mit Möglichkeit der Verlinkung auf Dateien auf dem Server (1)

Frage von JensBa zum Thema Instant Messaging ...

Batch & Shell
gelöst Zwei PDF-Dateien zusammen führen per Batch (3)

Frage von hongziehong zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
DSL, VDSL
gelöst DSL 200m verlängern (15)

Frage von Angela44 zum Thema DSL, VDSL ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...

Windows Server
SBS 2011 Standard virtualisieren (11)

Frage von HeinrichM zum Thema Windows Server ...

Exchange Server
gelöst DHCP Sever MS Server 2012 Problem (10)

Frage von Florian86 zum Thema Exchange Server ...