我試圖從文本文件中的UNC路徑列表(\ servername \ HOME \ username)列出用戶主目錄中的所有文件\目錄。我在Windows中運行Ruby。我一直在使用Dir.chdir來更改在變量中工作的UNC路徑,但不是當我在循環中使用它時使用它。我想我的語法可能有問題嗎?Ruby Dir.chdir在使用unc路徑的循環中不工作
首先我的文本文件看起來是這樣的:
\\\\servername\\HOME\\username1
\\\\servername\\HOME\\username2
\\\\servername\\HOME\\username3
這是工作程序:
require 'FileUtils'
workingpath = "\\\\servername\\HOME\\username"
filename = '**/*.*'
Dir.chdir workingpath
puts Dir[filename]
這不:
require 'FileUtils'
hostlist = "C:\\home_dirs.txt"
filename = '**/*.*'
File.open(hostlist).each_line do |item|
Dir.chdir item
puts Dir[filename]
end
我把錯誤獲得是programname.rb:8:在'open'中:沒有這樣的文件或目錄@ dir_initialize - \\ servername \ HOME \ username(Errn Ø:: ENOENT)。
基本上問題是目錄永遠不會更改爲unc路徑。我找不出爲什麼,因爲它改變了第一個程序中的目錄。我在這裏錯過了什麼?
感謝您的輸入!可悲的是,我確實已經嘗試過,並再次嘗試確認。錯誤是稍有不同: 'chdir':無效的參數@ dir_chdir - \\ servername \ HOME \ username1(Errno :: EINVAL) –