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 30.11.2009 um 14:50:31 Uhr
Wenn der Titel "Datei via Bacht leeren, nicht Löschen" nicht bald geändert wird, dann geht der Beitrag den Bacht runter...
GELÖST

Datei via Bacht leeren, nicht Löschen

Frage Entwicklung Batch & Shell

Mitglied: Scanner

Scanner (Level 1) - Jetzt verbinden

30.11.2009, aktualisiert 14:50 Uhr, 4661 Aufrufe, 10 Kommentare

Hallo zusammen,
ich habe da mal eine Frage zum Thema Backup.
Ich habe bei einer Datei das Problem das ich sie nicht weglöschen darf,
diese jedoch teilweise so groß wird das sie die Geschwindigkeit beeinträchtigt.

So und nun hier meine Frage

Wie kann ich eine Datei auf ihre Größe kontrollieren ,
bei Überschreitung der Größe öffnen, den Inhalt herausnehmen,
in einer anderen Datei Speichern und dann beide Dateien wieder schließen?
Das ganze müsste für TXT Dateien funktionieren.

Das ganze soll dann immer beim Maschinenstart vor dem Userlogin Laufen.


Vielen Dank schon mal für eure Hilfe
Mitglied: Tommy70
30.11.2009 um 08:50 Uhr
Hallo,

die Größe sollte sich so überprüfen lassen

01.
 for /f %%i in ("C:\test.txt") do if %%~zi GTR 1048576 echo Datei ist größer 1024KB 
und sollte die die Datei dann größer sein als gewollt kannst du ja einfach die Datei umbenennen und die ursprüngliche Datei neu erstellen.
Oder willst du deb Inhalt der ersten Datei in der Zweiten anhängen?
Bitte warten ..
Mitglied: Scanner
30.11.2009 um 09:06 Uhr
Das Problem ist,
das ich die Datei nicht neu erstellen darf, sondern nur den Inhalt herrausnehmen darf, sie schliessen und dann den
Inhalt der ersten Datei in eine Bachupdatei Speichern kann.
Bitte warten ..
Mitglied: Biber
30.11.2009 um 09:25 Uhr
Moin Scanner,

Zitat von Scanner:
Das Problem ist,
das ich die Datei nicht neu erstellen darf, sondern nur den Inhalt
herrausnehmen darf, sie schliessen und dann den
Inhalt der ersten Datei in eine Bachupdatei Speichern kann.
Ich finde, du hast dein Problem doch schon sehr gut erkannt.
Ist der erste Schritt zur Lösung.
Dann arbeite daran, diesen unsäglichen Zustand, "dass ich die Datei nicht neu erstellen darf" zu ändern.

Wenn du nicht in der Lage bist, diese *.log oder-was-auch-immer-Datei unter Namen mit Tagesdatum oder rotating counter schreiben zu lassen, dann schalte den Admin mit ein.

Der von dir skizzierte Workaround jedenfalls sollte nicht in einem real life-Szenario parallel zu Unternehmensprozessen etabliert werden.

Es sind schon Abmahnungen aus geringeren Anlässen ausgesprochen worden.

Grüße
Biber
Bitte warten ..
Mitglied: pxxsxx
30.11.2009 um 09:57 Uhr
Hallo,

So sollte es dann funktionieren:

01.
@echo off 
02.
for /f %%i in ("C:\test.txt") do if %%~zi LSS 1048576 Goto eof 
03.
copy c:\test.txt c:\sicherung\%date%.txt 
04.
echo. > c:\test.txt 
05.
:eof
echo. > c:\test.txt überschreibt den Inhalt der Datei c:\test.txt mit einer Leerzeile.

Gruß
Peter
Bitte warten ..
Mitglied: Scanner
30.11.2009 um 10:36 Uhr
An dem nicht neu erstellen kann ich bzw. wir hier nichts Ändern.
Ist Softwarehersteller Vorgabe.
Es kann dann zu Fehlern kommen und die korrekte Funktionsweise ist dann nicht mehr gewährleistet.
Ist etwas kompli, kann ich hier nicht bis auf detail erklären. ich halte das auch für Bull**

Ich bin der Admin und habe den Auftrag dazu bekommen.

Also keine Panik wegen Rechtlichen Dingen

aber gut das du es gesagt hast, ist für die mitleser wichtig.
Bitte warten ..
Mitglied: Scanner
30.11.2009 um 10:41 Uhr
Auf die Idee war ich auch schon mal gekommen.
Aber, bekommt die Datei dann nicht eine neue ID bzw. ein neues Erstellt am Datum usw. ?
Denn genau das muss ich vermeiden.
Denn die Datei darf nur geleert nicht in irgend einer Weise neu erstellt werden.
Kann ich nicht irgendwie den Inhalt auslesen und dann einen leeren String zurück schreiben ?
und die Datei dann mit 0 KB neu Speichern ?
Bitte warten ..
Mitglied: pxxsxx
30.11.2009 um 12:03 Uhr
Hallo,
bei einer Ausgabeumleitung in eine bestehende Datei, bleibt das Erstelldatum erhalten. Das Änderungsdatum wird natürlich aktualisiert.

Probiers halt einfach mal mit ner Testdatei...

Gruß
Peter
Bitte warten ..
Mitglied: bastla
30.11.2009 um 12:55 Uhr
Hallo @ All!
bei einer Ausgabeumleitung in eine bestehende Datei, bleibt das Erstelldatum erhalten. Das Änderungsdatum wird natürlich aktualisiert.
Gilt auch für
copy nul C:\test.txt>nul
wobei sich damit auch eine 0 Byte große Datei erstellen lässt ...

Grüße
bastla
Bitte warten ..
Mitglied: TsukiSan
30.11.2009 um 14:35 Uhr
@Scanner,

du hast das schon richtig erkannt!
An dem nicht neu erstellen kann ich bzw. wir hier nichts Ändern.
Ist Softwarehersteller Vorgabe.
Es kann dann zu Fehlern kommen und die korrekte Funktionsweise ist dann nicht mehr gewährleistet.
Ist etwas kompli, kann ich hier nicht bis auf detail erklären. ich halte das auch für Bull**

diesen Softwarehersteller würde ich mal fragen, seit wann die Maschine dem Menschen sagt, was er zu tun hat.
Sorry, aber das wollte ich loswerden.

Ich denke, dass bastlas Tipp dir hilft.

Gruss
Tsuki
Bitte warten ..
Mitglied: Scanner
01.12.2009 um 11:23 Uhr
Zitat von bastla:
copy nul C:\test.txt>nul 
> 

Danke das war genau das was mir nicht mehr eingefallen ist
Das war die Lösung
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

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

Ähnliche Inhalte
Perl
gelöst Mit Perl aus einer Datei teilidentische Zeilen löschen (5)

Frage von Jeduja zum Thema Perl ...

Batch & Shell
gelöst Source löschen wenn Datei im Zielordner vorhanden (1)

Frage von functionstrut zum Thema Batch & Shell ...

Batch & Shell
gelöst Texteil anhand zweier Vorgaben aus Datei löschen (12)

Frage von tiforst 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 ...