ACHTUNG. Das ist ein Archiv des alten forum.ruby-portal.de. Die aktuelle Mailingliste gibt es auf lists.ruby-lang.org/pipermail/ruby-de.

NOTICE. This is a ready-only copy of the old forum.ruby-portal.de. You can find the current mailing list at lists.ruby-lang.org/pipermail/ruby-de.

Die Programmiersprache Ruby

Blog|

Forum|

Wiki  


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]

Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 02 Apr 2017, 18:11 
Offline
Nuby

Registriert: 22 Mär 2017, 10:31
Beiträge: 8
Hallo zusammen
Ich schrieb ein Skript, der Files komprimieren und löschen soll, doch das tut er nicht.
Schaut's mal an:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
require 'fileutils'
require 'date'
require "zlib"

data_to_compress = File.read("don_quixote.txt")
current_day = Time.now.to_datetime.jd

# This will get log files for all subdirectories
Dir["\\ss002207\TAAHAMO1$\Desktop\Test\test.log"].each do |file|
file_day = File.mtime(file).to_datetime.jd

if current_day - file_day >= 1
FileUtils.rm file
end
end


Was muss ich ändern, damit er funktioniert?

Grüsse


Zuletzt geändert von NobbZ am 02 Apr 2017, 20:58, insgesamt 1-mal geändert.
Code repariert


Nach oben
 Profil  
 
BeitragVerfasst: 02 Apr 2017, 21:00 
Offline
Metaprogrammierer

Registriert: 20 Nov 2011, 21:51
Beiträge: 693
Path#join benutzen oder backslashes escapen.

_________________
Ubuntu Gnome 14.04 LTS
rvm mit App-spezifischer Ruby-Version (meist 2.2.x) und -Gemset

Github ProfilBitbucket Profil


Nach oben
 Profil  
 
BeitragVerfasst: 05 Apr 2017, 09:46 
Offline
Nuby

Registriert: 22 Mär 2017, 10:31
Beiträge: 8
NobbZ hat geschrieben:
Path#join benutzen oder backslashes escapen.


Und wie macht man das?


Nach oben
 Profil  
 
BeitragVerfasst: 05 Apr 2017, 10:31 
Offline
Metaprogrammierer

Registriert: 20 Nov 2011, 21:51
Beiträge: 693
OK, ich habe mich geirrt, es ist File#join.



1
2
3
4
File.join("c:", "foo", "bar", "baz.exe")
#=> "c:/foo/bar/baz.exe"
"c:\\foo\\bar\\baz.exe"
#=> "c:\\foo\\bar\\baz.exe"

_________________
Ubuntu Gnome 14.04 LTS
rvm mit App-spezifischer Ruby-Version (meist 2.2.x) und -Gemset

Github ProfilBitbucket Profil


Nach oben
 Profil  
 
BeitragVerfasst: 05 Apr 2017, 10:38 
Offline
Nuby

Registriert: 22 Mär 2017, 10:31
Beiträge: 8
NobbZ hat geschrieben:
OK, ich habe mich geirrt, es ist File#join.



1
2
3
4
File.join("c:", "foo", "bar", "baz.exe")
#=> "c:/foo/bar/baz.exe"
"c:\\foo\\bar\\baz.exe"
#=> "c:\\foo\\bar\\baz.exe"




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
require 'fileutils'
require 'date'
require "zlib"

data_to_compress = File.read("don_quixote.txt")
current_day = Time.now.to_datetime.jd

# This will get log files for all subdirectories
Dir["\\ss002207\TAAHAMO1$\Desktop\Test\test.log"].each do |file|
file_day = File.mtime(file).to_datetime.jd

if current_day - file_day >= 1
FileUtils.rm file

File.join("c:", "foo", "bar", "baz.exe")
#=> "c:/foo/bar/baz.exe"
"c:\\foo\\bar\\baz.exe"
#=> "c:\\foo\\bar\\baz.exe"
end
end


So?


Nach oben
 Profil  
 
BeitragVerfasst: 05 Apr 2017, 11:20 
Offline
Metaprogrammierer

Registriert: 20 Nov 2011, 21:51
Beiträge: 693
Nein. Hast du dir überhaupt angeguckt was ich geschrieben habe? Hast du versucht zu verstehen was da passiert?

Vielleicht schaust du noch einmal ganz genau hin, was bei deinen Pfaden rot, und was lila ist, und danach schaust du noch mal bei meinem Pfad, dann überlegst du ganz genau was der Unterschied ist. Falls du nicht von alleine drauf kommst, les dir bitte mal den Abschnitt Sonderzeichen im Artikel über Strings in unserem Wiki durch. Da steht nicht viel, aber genug um das Prinzip zu verstehen.

_________________
Ubuntu Gnome 14.04 LTS
rvm mit App-spezifischer Ruby-Version (meist 2.2.x) und -Gemset

Github ProfilBitbucket Profil


Nach oben
 Profil  
 
BeitragVerfasst: 05 Apr 2017, 11:35 
Offline
Nuby

Registriert: 22 Mär 2017, 10:31
Beiträge: 8
NobbZ hat geschrieben:
Nein. Hast du dir überhaupt angeguckt was ich geschrieben habe? Hast du versucht zu verstehen was da passiert?

Vielleicht schaust du noch einmal ganz genau hin, was bei deinen Pfaden rot, und was lila ist, und danach schaust du noch mal bei meinem Pfad, dann überlegst du ganz genau was der Unterschied ist. Falls du nicht von alleine drauf kommst, les dir bitte mal den Abschnitt Sonderzeichen im Artikel über Strings in unserem Wiki durch. Da steht nicht viel, aber genug um das Prinzip zu verstehen.


Jap, hab es nun verstanden.
Hab jetzt aber das weggelassen für's Erste.
Neu sieht mein Skript so aus:

require 'fileutils'
require 'date'
require "zlib"

current_day = Time.now.to_datetime.jd

# This will get log files for all subdirectories
Dir["\\ss002207\TAAHAMO1$\Desktop\Test"].each do |file|
file_day = File.mtime(file).to_datetime.jd

if current_day - file_day >= 3
FileUtils.rm file

end
#if current_day - file_day >= 1
data_compressed = Zlib::Deflate.deflate(file)
File.open(test.log'w') { |file| file.write("es hat funktioniert") }
#end

end

Er speichert das Ganze nicht im File.
Weisst du wieso?
Soll ja mit File.open funktionieren

Grüsse


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach: