From: "phasis68 (Heesob Park)" Date: 2012-10-12T14:18:34+09:00 Subject: [ruby-core:47931] [ruby-trunk - Bug #7143] system("ls && ls") should work in windows Issue #7143 has been updated by phasis68 (Heesob Park). As you know, && is a shell feature. using "&&" works well when used with the internal command. irb(main):001:0> system('ver && ls') Microsoft Windows XP [Version 5.1.2600] Thumbs.db devkitvars.ps1 home m.ico msys.ico qq2 xxx bin dk.rb include mingw postinstall sbin devkitvars.bat etc lib msys.bat qq share => true Here is a simple patch to invoke shell when command contains '&': diff --git a/win32.c b/win32.c.new index 7eaf1fc..3446728 100644 --- a/win32.c +++ b/win32.c.new @@ -1446,6 +1446,7 @@ has_redirection(const char *cmd) case '>': case '<': case '|': + case '&': case '\n': if (!quote) return TRUE; ---------------------------------------- Bug #7143: system("ls && ls") should work in windows https://bugs.ruby-lang.org/issues/7143#change-30375 Author: rogerdpack (Roger Pack) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 1.9.3p194 (2012-04-20) [i386-mingw32] Hello. Since windows "on the command line" supports &&, I believe this should work for ruby system commands. It appears this run both commands, as expected (the first one fails): using "||" works well: >> system("ffmpeg -i || ls") # ffmpeg -i fails using && >> system("ls && ls") ls: &&: No such file or directory ls: ls: No such file or directory => false Thanks. -roger- -- http://bugs.ruby-lang.org/