Ruby:Dir.chdir在windows中使用文本文件中的数据

Ruby:Dir.chdir在windows中使用文本文件中的数据,ruby,windows,directory,chdir,Ruby,Windows,Directory,Chdir,我正在尝试使用一个脚本来使用Dir.chdir更改工作目录 这项工作: dirs = ['//servername/share','//servername2/share'] dirs.each do |dir| Dir.chdir dir end 如果我将上述共享信息放入一个文本文件(每个共享位于新行)并尝试加载: File.foreach("shares.txt") {|dir| Dir.chdir dir } 我得到这个错误: “chdir”:没有这样的文件或目录-//ser

我正在尝试使用一个脚本来使用Dir.chdir更改工作目录

这项工作:

dirs = ['//servername/share','//servername2/share']

dirs.each do |dir|
  Dir.chdir dir
end
如果我将上述共享信息放入一个文本文件(每个共享位于新行)并尝试加载:

File.foreach("shares.txt") {|dir|
  Dir.chdir dir
}
我得到这个错误:

“chdir”:没有这样的文件或目录-//servername/share(Errno::enoint)

如何从文本文件读取共享并更改到该目录?有更好的方法吗?

试试看

Dir.chdir dir.strip

原因: 使用
File.foreach
可以获得包含换行符的行(
\n

strip
将删除前导空格和尾随空格,
chomp
将删除尾随换行符


另一种可能性:在您的示例中,使用绝对路径。这应该行得通

如果您使用相对路径,请检查您所在的目录(您可以更改它!)。要保留目录,可以使用块版本的
Dir.chdir

Dir.chdir dir.chomp