Both methods work: ChDiror SetCurrentDir. They both perform the same call to the API the Windows: SetCurrentDirectory.
If you use ChDir, an exception will be raised (in $I+mode_) if the directory does not exist. Therefore, you would like to handle the exception in this case (using tryand except).
If you use SetCurrentDir, it will return falseif the directory does not exist, and trueif it was successful.
, SetCurrentDir , ChDir , ( DOS), .