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
Kommentar vom Moderator Biber am 05.02.2010 um 12:19:47 Uhr
Irre führenden /Wirren früheren Originaltitel "Syntax Fehler in Batch Datei" geändert in"Anpassung einer Datensicherungs-Batchdatei"
GELÖST

Anpassung einer Datensicherungs-Batchdatei

Frage Entwicklung Batch & Shell

Mitglied: s7mahess

s7mahess (Level 1) - Jetzt verbinden

05.02.2010, aktualisiert 13:02 Uhr, 3139 Aufrufe, 5 Kommentare

Ich habe folgende Batch Datei, gefunden/modifiziert um von "F:\wks100" dateien zu splitten und nach "F:\sicherung" zu kopieren, allerdings kopiert er komplett "F:\".

und ich weis nicht warum

Findet heir vieleicht jemand den Fehler?

01.
 
02.
set "roottarget=F:\WKS100\" 
03.
set "target=F:\Sicherung\" 
04.
set "limit=4300000000" 
05.
 
06.
REM Dateien der größe nach sortiert in sortedonlyfiles.txt schreiben 
07.
for /F "delims=" %%a in ('dir %1 /b /a-D /s') do call:prozfilessortout %%~za "%%a" 
08.
call:copys 
09.
 
10.
:prozfilessortout 
11.
set "size=                    %1" 
12.
echo %size:~-20%:%~2>>"files.txt" 
13.
goto:eof 
14.
 
15.
 
16.
:copys 
17.
REM Dateien kopieren bis voll 
18.
set /a vnr=1 
19.
for /F "tokens=1* delims=:" %%a in ('sort "files.txt" /R') do call:prozcopyfiles %%a "%%b" 
20.
del "files.txt" 
21.
del "targetsize.txt" 
22.
goto:eof 
23.
 
24.
:prozcopyfiles  
25.
dir /s /-c "%roottarget%\%target%%vnr%\">"targetsize.txt"  
26.
for /F "delims= " %%c in ('find "Datei(en)" "targetsize.txt"') do set dirsize=%%c  
27.
set /a willsize=%1+%dirsize%  
28.
if %willsize% geq %limit% (  
29.
  set /a vnr+=1  
30.
)  
31.
  
32.
if not exist "%roottarget%\%target%%vnr%%~p2\NUL" md "%roottarget%\%target%%vnr%%~p2" 2>NUL  
33.
Kopiere %2 nach "%roottarget%\%target%%vnr%%~p2"  
34.
copy %2 "%roottarget%\%target%%vnr%%~p2">NUL  
35.
goto:eof 

MfG Martin
Mitglied: manuel-r
05.02.2010 um 11:10 Uhr
Sollte nach deiner Beschreibung ein einfaches
01.
xcopy f:\wks100 f:\sicherung /e /v /c /i /h /y
nicht völlig ausreichend sein?
Bitte warten ..
Mitglied: s7mahess
05.02.2010 um 11:31 Uhr
Nein ich will ja das all 4,3 gb automatisch nen neuer ordner erstellt wird
Bitte warten ..
Mitglied: bastla
05.02.2010 um 11:52 Uhr
Hallo s7mahess!

In der Zeile
for /F "delims=" %%a in ('dir %1 /b /a-D /s') do call:prozfilessortout %%~za "%%a"
ist durch das %1 festgelegt, dass als Startordner ein beim Aufruf übergebener Parameter verwendet werden soll - wenn es den nicht gibt, startet der Batch eben vom aktuellen Ordner aus ...

Was Du eigentlich wolltest wäre:
for /F "delims=" %%a in ('dir "%roottarget%" /b /a-D /s') do call:prozfilessortout %%~za "%%a"
Grüße
bastla

P.S.:Der Threadtitel ist nicht nur wenig aussagekräftig, sondern eigentlich auch sachlich unrichtig ...

... was durch die etwas ungewöhnliche Form der Begrüßung - "Ich habe folgende Batch Datei" - nicht wirklich besser wird
Bitte warten ..
Mitglied: s7mahess
05.02.2010 um 12:46 Uhr
Danke, der erste teil ist schonma geschaft.

Jetzt liest er schonmal das richtige Verzeichnis nur kopieren tut das Script immernoch nicht.
Bitte warten ..
Mitglied: bastla
05.02.2010 um 15:46 Uhr
Hallo s7mahess!

Mit ein paar Anpassungen:
01.
@echo off & setlocal 
02.
set "source=F:\WKS100" 
03.
set "target=F:\Sicherung" 
04.
set "limit=4300000000" 
05.
 
06.
for /f "delims=" %%a in ('dir "%source%" /b /a-D /s') do call:prozfilessortout %%~za "%%a" 
07.
 
08.
set /a vnr=1 
09.
for /f "tokens=1* delims=:" %%a in ('sort "files.txt" /R') do call:prozcopyfiles %%a "%%b" 
10.
del "files.txt" 
11.
goto :eof 
12.
 
13.
:prozfilessortout 
14.
set "size=                    %1" 
15.
echo %size:~-20%:%~2>>"files.txt" 
16.
goto :eof 
17.
 
18.
 :prozcopyfiles 
19.
set /a dirsize=0 
20.
for /f "tokens=3" %%c in ('dir /s /-c "%target%\%vnr%"^|findstr "Datei(en)"') do set dirsize=%%c 
21.
set /a willsize=%1+%dirsize% 
22.
if %willsize% geq %limit% set /a vnr+=1 
23.
 
24.
md "%target%\%vnr%" 2>NUL 
25.
echo Kopiere %2 nach "%target%\%vnr%" 
26.
copy %2 "%target%\%vnr%">NUL 
27.
goto :eof
Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Microsoft Office

MS Office Excel - Formel wird angezeigt, aber nicht berechneter Wert!

Tipp von holli.zimmi zum Thema Microsoft Office ...

Ähnliche Inhalte
Vmware
VCenter - Anpassung der Struktur (8)

Frage von Ghost108 zum Thema Vmware ...

Batch & Shell
gelöst Ausgelagerte Variablen in Batchdatei (6)

Frage von mp-home zum Thema Batch & Shell ...

Batch & Shell
Batchdatei auf einem Server ausführen mit psexec.exe (18)

Frage von imebro zum Thema Batch & Shell ...

Batch & Shell
gelöst Unterdrücken eines DOS Fenster bei Ausführen einer Batchdatei (10)

Frage von Zockervogel zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (19)

Frage von Winuser zum Thema Hyper-V ...

Windows Server
gelöst Rechte als Admin vergeben - Zugriff verweigert (14)

Frage von Ghost108 zum Thema Windows Server ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (14)

Frage von ProfessorZ zum Thema Router & Routing ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (13)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...