在windows 7上的Ruby中出错Errno::enoint:

在windows 7上的Ruby中出错Errno::enoint:,ruby,Ruby,我需要在ruby提示符下发出命令 irb(main):007:0> f = File.new("C:\Users\ABHIJI~1.SHE\AppData\Local\Temp\myoutp> Errno::ENOENT: No such file or directory - ls -alF C:UsersABHIJI\~1.SHEAppDataLo calTemp\myoutput.txt from C:/Ruby/Ruby193/lib/ruby/gems/1.

我需要在ruby提示符下发出命令

irb(main):007:0> f = File.new("C:\Users\ABHIJI~1.SHE\AppData\Local\Temp\myoutp>
Errno::ENOENT: No such file or directory - ls -alF C:UsersABHIJI\~1.SHEAppDataLo
calTemp\myoutput.txt
        from C:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_print/formatter.rb:191:in ``'
        from C:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_print/formatter.rb:191:in `awesome_file'
        from C:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_print/formatter.rb:26:in `format'
        from C:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_print/inspector.rb:137:in `unnested'
        from C:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_print/inspector.rb:104:in `awesome'
        from C:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_print/core_ext/kernel.rb:10:in `ai'
        from C:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_print/core_ext/kernel.rb:15:in `ap'
        from C:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_print/inspector.rb:31:in `output_value'
        from C:/Ruby/Ruby193/bin/irb:12:in `<main>'
irb(main):007:0>f=File.new(“C:\Users\ABHIJI~1.SHE\AppData\Local\Temp\myoutp>
Errno::enoint:没有这样的文件或目录-ls-alF C:usersabiji\~1.SHEAppDataLo
calTemp\myoutput.txt
来自C:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_打印/格式化程序。rb:191:in`'
来自C:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_print/formatter.rb:191:in'awesome_file'
来自C:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_打印/格式化程序。rb:26:in'format'
来自C:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_印刷品/检查员。rb:137:in'UNESTED'
来自C:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_印刷品/检查员。rb:104:in'awesome'
来自C:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_print/core_ext/kernel.rb:10:in'ai'
来自C:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_print/core_ext/kernel.rb:15:in'ap'
来自C:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_print/inspector.rb:31:in'output_value'
from C:/Ruby/Ruby193/bin/irb:12:in`'
我已经给出了临时文件夹的路径。
我使用的是windows 7,Ruby路径为C:\Ruby\Ruby193\bin

反斜杠字符用作“转义字符”,用于在字符串中插入特殊字符。例如,要插入制表位,可以使用“\t”“。如果您希望有一个文本
\
,则必须用另一个
\
对其进行转义。因此,您的字符串应为
“C:\\Users\\ABHIJI~1.SHE\\AppData\\Local\\Temp\\myoutput.txt”

例如:

# right
>> puts "C:\\Users\\ABHIJI~1.SHE\\AppData\\Local\\Temp\\myoutput.txt"
C:\Users\ABHIJI~1.SHE\AppData\Local\Temp\myoutput.txt
=> nil

# wrong
>> puts "C:\Users\ABHIJI~1.SHE\AppData\Local\Temp\myoutput.txt"
C:UsersABHIJI~1.SHEAppDataLocalTempmyoutput.txt
=> nil

但是,即使在Windows上,您也可以在路径中使用前向斜杠。有关更多详细信息,请参阅此答案。

f=File.new(“C://Users//ABHIJI~1.SHE//AppData//Local//Temp//myoutput.txt”,“w+”)即使向前斜杠也不起作用working@Abhijit使用正斜杠时,只需使用一个斜杠。使用反斜杠时,只需将斜杠加倍。
“C:/Users/ABHIJI~1.SHE”
相当于
“C:\\Users\\ABHIJI~1.SHE”
。能否在命令行提示符下运行'dir C:\Users\ABHIJI~1.SHE\AppData\Local\Temp',查看文件夹是否存在?