現在の作業ディレクトリから、別のディレクトリにあるファイルの名前を変更しようとしています。私のテストIRB
コードは以下の通りです:
C:\Documents and Settings\peter>irb
irb(main):001:0> Dir.pwd
=> "C:/Documents and Settings/peter"
irb(main):002:0> File.rename('C:\Documents and Settings\peter\My Documents\userdata\test.txt','a.txt')
=> 0
irb(main):003:0>File.exist?('C:\Documents and Settings\peter\My Documents\userdata\test.txt')
=> false
irb(main):004:0>File.exist?('C:\Documents and Settings\peter\My Documents\userdata\a.txt')
=> false
irb(main):005:0>
ターゲットファイルの名前を変更する代わりに、ファイルシステムから削除されます-なぜですか? ファイルの名前を変更するのが適切な方法でない場合は、安全な方法を教えてください。しかし、名前を変更するために現在の作業ディレクトリを変更することはできず、現在のディレクトリを変更する必要がある場合は名前を変更することはできません。名前を変更した後、以前の現在の作業ディレクトリに戻したいです。