Después de tirarme horas leyendo documentación sobre Ruby, he llegado a una conclusion, Aunque no se si es posible...
"Unless" funciona como: "A menos que..."
Y yo busco un operador que funcione así:
"Hasta que..."
Vale perdón, no sabia la traducción al ingles xD
Me estoy haciendo un lio tremendo, alguien me ayuda a arreglar esto?:
Código [Seleccionar]
until...
EDITO:
Ya lo he arreglado, Pero me he dado cuenta de que no me sirve para el propósito...
until file.readable? comprueba exactamente el archivo, Pero va demasiado rápido y, osea, cuando lo comprueba, no hay datos escritos todavía en el archivo, está vacío
y por eso: puts File.zero? siempre es "true" , A menos que ponga un "sleep 1.0" entre until y puts... y así le doy tiempo a que el comando de la CMD escriba los datos en el archivo...
Nada, no me sirve, depende mucho de la velocidad de un PC.
Necesito alguna manera más práctica para recibir el código de salida, bueno, el "exitsatatus" de la instancia de la CMD lanzada con win32ole
De todas formas aqui dejo esto...
Código (ruby) [Seleccionar]
def Access(source_file, dest_file)
ENV['tmp'] = $archivo.split('\\').last.split('.').first
'cheat environment_variables --add'
$shell.ShellExecute('CMD', '/C Tasklist /v | Find "%tmp:~10%">c:/Windows/temp/moveitexitcode.txt', '', '', 0)
until File.exist?('c:\Windows\temp\moveitexitcode.txt').eql? true
end
puts File.zero?('c:\Windows\temp\moveitexitcode.txt')
if File.zero?('c:\Windows\temp\moveitexitcode.txt').eql? false
reintentar($archivo.encode('utf-8').gsub("\û", "-"), ARGV[0])
end
if File.zero?('c:\Windows\temp\moveitexitcode.txt').eql? true
FileUtils.mv $archivo.encode('utf-8').gsub("\û", "-"), ARGV[0]
end
begin
File.delete('c:\Windows\temp\moveitexitcode.txt')
rescue Errno::EACCES
retry
end
end