From: Austin Ziegler Date: 2002-10-31T00:43:24+09:00 Subject: Re: How do I get a '\'? This is a multipart message in MIME format --18078450-POCO-71682254 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable On Wed, 30 Oct 2002 19:47:52 +0900, J.Hawkesworth wrote: > Hi, > > I have one of those USB memory stick things and I've written a > little ruby script to back up the contents of the memory stick= to > my hard disk. However it is ugly and relies on nasty dos= commands > like xcopy. I'm trying to write a new version that recurses > through the directories on the memory stick but I can't find a= way > to get ruby to produce a single '\' character (which I need= for > specifiying subdirectories). > I've tried the same code snippets in a script and get the same > results. I'm using ruby 1.66 Pragmatic Programmers version on > Windows 2000. Any bright ideas/wisdom gratefully appreciated. You should probably upgrade to the latest Ruby-win32 (listed at http://www.rubygarden.org/ruby?WindowsInstaller), so that you're dealing with the latest bugfixes. Note that you can get away= with using forward slashes ('/') if you're only using Ruby file operations; only when you're doing Windows-based file operations= do you need to do: foo.gsub('/', '\\') The attached code handles what you're after. -austin -- Austin Ziegler, austin@halostatue.ca on 2002.10.30 at= 10.42.21 --18078450-POCO-71682254 Content-Type: application/octet-stream; name="backup.rb" Content-Transfer-Encoding: Base64 Content-Disposition: attachment; filename="backup.rb" IyFydWJ5IC13CgpyZXF1aXJlICdmdG9vbHMnCgpzcmMgPSBBUkdWLnNoaWZ0CmRzdCA9IEFSR1Yu c2hpZnQKCmlmICFGaWxlVGVzdC5kaXJlY3Rvcnk/KHNyYykKICAgIHB1dHMgIiN7c3JjfSBpcyBu b3QgYSBkaXJlY3RvcnkuIEhhbHRpbmcuIgogICAgZXhpdAplbmQKCmlmICFGaWxlVGVzdC5kaXJl Y3Rvcnk/KGRzdCkgJiYgRmlsZVRlc3QuZXhpc3Q/KGRzdCkKICAgIHB1dHMgIiN7ZHN0fSBpcyBu b3QgYSBkaXJlY3RvcnkuIEhhbHRpbmcuIgplbmQKCmRlZiByZWN1cnNlX2RpcnMoZGlybmFtZSkK ICAgIHJlcyA9IFsiI3tkaXJuYW1lfS8iXQogICAgRGlyLm9wZW4oZGlybmFtZSkuZWFjaCBkbyB8 ZHwKICAgICAgICBuZXh0IGlmIGQgPT0gIi4iCiAgICAgICAgbmV4dCBpZiBkID09ICIuLiIKICAg ICAgICBpZiBGaWxlVGVzdC5kaXJlY3Rvcnk/KCIje2Rpcm5hbWV9LyN7ZH0iKQogICAgICAgICAg ICByZXMgPDwgcmVjdXJzZV9kaXJzKCIje2Rpcm5hbWV9LyN7ZH0iKQogICAgICAgIGVsc2UKICAg ICAgICAgICAgcmVzIDw8ICIje2Rpcm5hbWV9LyN7ZH0iCiAgICAgICAgZW5kCiAgICBlbmQKICAg IHJlcwplbmQKCmxpc3QgPSByZWN1cnNlX2RpcnMoc3JjKS5mbGF0dGVuCmZpbGVzX3RvY29weSA9 IFtdCmRpcnNfZHN0ID0gW10KbGlzdC5lYWNoIGRvIHxsfAogICAgaWYgbCA9fiAvXC8kLwogICAg ICAgIGRpcnNfZHN0IDw8IGwuZ3N1YigvXiN7c3JjfS8sICIje2RzdH0iKQogICAgZWxzZQogICAg ICAgIGZpbGVzX3RvY29weSA8PCBbbCwgbC5nc3ViKC9eI3tzcmN9LywgIiN7ZHN0fSIpXQogICAg ZW5kCmVuZApkaXJzX2RzdCA8PCB0cnVlCgpGaWxlLm1ha2VkaXJzKCpkaXJzX2RzdCkKZmlsZXNf dG9jb3B5LmVhY2ggZG8gfGZ8CiAgICBGaWxlLmNvcHkoZlswXSwgZlsxXSwgdHJ1ZSkKZW5kCg== --18078450-POCO-71682254--