Ruby: Dir.chdir bruger data fra en tekstfil i Windows

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at bruge et script til at ændre arbejdskataloget ved hjælp af Dir.chdir


Dette virker:


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

dirs.each do |dir|
  Dir.chdir dir
end


Hvis jeg lægger ovenstående oplysninger i en tekstfil (hver del på en ny linje) og forsøger at indlæse:


File.foreach("shares.txt") {|dir|
  Dir.chdir dir
}


Jeg får denne fejl:



  'chdir': Ingen sådan fil eller mappe -//servernavn/del (Errno :: ENOENT)



Hvordan kan jeg læse aktierne fra en tekstfil og skifte til den pågældende mappe? Er der en bedre måde at gøre dette på?

Bedste reference


Prøve


Dir.chdir dir.strip


eller


Dir.chdir dir.chomp


Grund:
Med File.foreach får du linjer, herunder en ny linje ( ).


strip vil slette ledende og efterfølgende mellemrum, chomp vil slette efterfølgende nye linjer.





En anden mulighed: I dit eksempel bruger du absolutte stier. Dette skal fungere.


Hvis du bruger relative stier, så tjek, hvilken mappe du er (du ændrer det!). For at beholde mappen kan du bruge blokversionen af ​​Dir.chdir.