Index: tol/bbasic/sys.cpp
===================================================================
--- tol/bbasic/sys.cpp	(revision ed32db722e45f76672506744af99641ac6042f1f)
+++ tol/bbasic/sys.cpp	(revision 98bcbd647b77174660bdb0796f89268e170edff7)
@@ -303,13 +303,13 @@
 //--------------------------------------------------------------------
 {
-//InitTotalTime("BSys::TempNam");
+  //InitTotalTime("BSys::TempNam");
   static BInt fileNumber_ = -1;
   BText fileName;
   BText dir = outputDir;
-//Std(BText("\nBSys::TempNam 1 dir = ")+dir);
+  //Std(BText("\nBSys::TempNam 1 dir = ")+dir);
   if(!dir.HasName()) { dir= TolAppData()+"tmp/"; }
-//Std(BText("\nBSys::TempNam 2 dir = ")+dir);
-
-//Std("\nBSys::TempNam("); Std(outputDir+", "+prefix+", "+ext+", "+len+")");
+  //Std(BText("\nBSys::TempNam 2 dir = ")+dir);
+
+  //Std("\nBSys::TempNam("); Std(outputDir+", "+prefix+", "+ext+", "+len+")");
   if(!BDir::CheckIsDir(dir))
   {
@@ -321,5 +321,5 @@
 #endif
   }
-//Std(BText("\nBSys::TempNam 5 dir = ")+dir);
+  //Std(BText("\nBSys::TempNam 5 dir = ")+dir);
   BInt attempts = 0;
   BText pathFile;
@@ -337,6 +337,7 @@
   }
   while(CheckIsFile(pathFile));
-//Std(BText("\nTempNam = ") + fileName + " after " + attempts+ " attempts.");
-//SumPartialTime;
+  //Std( BText( "fileName = " ) + fileName );
+  //Std(BText("\nTempNam = ") + pathFile + " after " + attempts+ " attempts.");
+  //SumPartialTime;
   return(pathFile);
 }
@@ -445,5 +446,9 @@
   BText errNam = BSys::TempNam();
   BText cmdRedirected = command;
-  if(command.BeginWith("cmd ")) { cmdRedirected += BText(" 2> ")+errNam; }
+  if(command.BeginWith("cmd ")) 
+    { 
+    cmdRedirected += BText(" 2> \"")+errNam+"\"";
+    //Std( BText("cmdRedirected = ") + cmdRedirected ) ;
+    }
   char* cmd = (char*)cmdRedirected.String();
   GetStartupInfo(&startupInfo);
