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, 3613 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
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Windows Server
Server sehr langsam bei vielen kleinen Dateien (5)

Frage von MichiBLNN zum Thema Windows Server ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

Exchange Server
DNS Einstellung - zwei feste IPs für Mailserver (15)

Frage von ivan0s zum Thema Exchange Server ...