Forget set some error level and some msg that should have goto ConOut not to ConErr  so pipe are working with thuse msg
Modified: trunk/reactos/subsys/system/cmd/console.c
Modified: trunk/reactos/subsys/system/cmd/copy.c

Modified: trunk/reactos/subsys/system/cmd/console.c
--- trunk/reactos/subsys/system/cmd/console.c	2005-07-15 14:40:47 UTC (rev 16578)
+++ trunk/reactos/subsys/system/cmd/console.c	2005-07-15 14:50:46 UTC (rev 16579)
@@ -349,13 +349,13 @@
 	va_end (arg_ptr);
 	if(ret > 0)
 	{
-		ConErrPuts (text);
+		ConOutPuts (text);
 		LocalFree(text);
 	}
 	else
 	{
 		LoadString(CMD_ModuleHandle, STRING_CONSOLE_ERROR, szMsg, RC_STRING_MAX_SIZE);
-		ConErrPrintf(szMsg);
+		ConOutPrintf(szMsg);
 	}
 }
 

Modified: trunk/reactos/subsys/system/cmd/copy.c
--- trunk/reactos/subsys/system/cmd/copy.c	2005-07-15 14:40:47 UTC (rev 16578)
+++ trunk/reactos/subsys/system/cmd/copy.c	2005-07-15 14:50:46 UTC (rev 16579)
@@ -146,6 +146,7 @@
 	{
 		CloseHandle (hFileSrc);
 		error_path_not_found ();
+    nErrorLevel = 1;
 		return 0;
 	}
 	buffer = (LPBYTE)malloc (BUFF_SIZE);
@@ -154,6 +155,7 @@
 		CloseHandle (hFileDest);
 		CloseHandle (hFileSrc);
 		error_out_of_memory ();
+    nErrorLevel = 1;
 		return 0;
 	}
  
@@ -434,6 +436,7 @@
 	{
 		/* there is too many file names in command */
 		error_too_many_parameters("");
+    nErrorLevel = 1;
 		return 1;
 	}
  
@@ -607,6 +610,7 @@
 			{			
 				ConOutFormatMessage (GetLastError(), szSrcPath);			
 				freep (arg);
+        nErrorLevel = 1;
 				return 1;
 			}
  
@@ -624,6 +628,7 @@
 			{
 				ConOutFormatMessage (GetLastError (), szSrcPath);			
 				freep (arg);
+        nErrorLevel = 1;
 				return 1;
 			}
 			/* Copy over the destination path name */