I have the following code that converts a couple of bash commands into Windows `cmd` commands, as well as adding some commands. This is only my second day programming in C++, so any and all suggestions would be helpful.

    #include "stdafx.h"
    #include <iostream>
    #include <string>
    #include <regex>
    #include <fstream>
    #include <stdlib.h>
    #include <time.h>
    #include <conio.h>
    
    using namespace std;
    using namespace std::tr1;
    
    class Parser
    {
    	regex ls_regex, mkdir_regex, sleep_regex, rand_regex, rm_regex, touch_regex, cat_regex, open_regex, cp_regex, lat_regex;
    	string touch_match, sleep_match, mkdir_match, ls_match, rm_match, open_match, cp_match;
       public:
    	void SetRegexes();
    	void RunCommand(string);
    	string ParseCommand(string);
    	string SearchString(int, string);
    };
    
    void Parser::SetRegexes()
    {
    	// Regex is the bash command, match is the cmd command
    	ls_regex = "^ls$";
    	ls_match = "dir";
    	mkdir_regex = "^mkdir";
    	mkdir_match = "md";
    	sleep_regex = "^sleep$";
    	sleep_match = "pause";
    	rand_regex = "^timerand$";
    	rm_regex = "^rm";
    	rm_match = "del";
    	touch_regex = "^touch";
    	cat_regex = "^cat";
    	open_regex = "^open";
    	open_match = "notepad";
    	cp_regex = "^cp";
    	cp_match = "copy";
    	lat_regex = "^lat";
    }
    
    string Parser::ParseCommand(string unparsed)
    {
    	// Checks if the regex can be found in the unparsed string
    	if (regex_search(unparsed, ls_regex))
    	{
    		// Unparsed now is actually parsed
    		unparsed = unparsed.replace(0, 3, ls_match);
    	}
    	else if (regex_search(unparsed, mkdir_regex))
    	{
    		unparsed = unparsed.replace(0, 5, mkdir_match);
    	}
    	else if (regex_search(unparsed, sleep_regex))
    	{
    		unparsed = unparsed.replace(0, 4, sleep_match);
    	}
    	else if (regex_search(unparsed, rand_regex))
    	{
    		srand(time(NULL));
    		cout << rand() << endl;
    		return " ";
    	}
    	else if (regex_search(unparsed, rm_regex))
    	{
    		unparsed = unparsed.replace(0, 2, rm_match);
    	}
    	else if (regex_search(unparsed, touch_regex))
    	{
    		string tfile;
    		for (int i = 0; i < unparsed.length(); i++)
    		{
    			if (i > 5)
    			{
    				tfile += unparsed[i];
    			}
    		}
    		ofstream create_file(tfile);
    		return " ";
    	}
    	else if (regex_search(unparsed, cat_regex))
    	{
    		string op_line;
    		string catfile;
    		for (int i = 0; i < unparsed.length(); i++)
    		{
    			if (i > 3)
    			{
    				catfile += unparsed[i];
    			}
    		}
    		ifstream input_file(catfile);
    		while (input_file.good())
    		{
    			getline(input_file, op_line);
    			cout << op_line;
    		}
    		cout << endl;
    		return " ";
    	}
    	else if (regex_search(unparsed, open_regex))
    	{
    		unparsed = unparsed.replace(0, 5, open_match + " ");
    	}
    	else if (regex_search(unparsed, cp_regex))
    	{
    		unparsed = unparsed.replace(0, 4, cp_match + " ");
    	}
    	else if (regex_search(unparsed, lat_regex))
    	{
    		string latfile;
    		string op_line;
    		char holder;
    		for (int i = 0; i < unparsed.length(); i++)
    		{
    			if (i > 3)
    			{
    				latfile += unparsed[i];
    			}
    		}
    		cout << latfile << endl << endl;
    		ifstream input_file(latfile);
    		while (input_file.good())
    		{
    			getline(input_file, op_line);
    			cout << op_line << endl;
    			// getch() makes it so the letters are not echoed to the keyoard
    			holder = getch();
    		}
    		return " ";
    	}
    	return unparsed;
    }
    
    void Parser::RunCommand(string parsed)
    {
    	// Converts to a different type so it can be used in the system method
    	const char *cparsed = parsed.c_str();
    	system(cparsed);
    }
    
    void _tmain(int argc, _TCHAR* argv[])
    {
    	string name;
    	int line_counter = 0;
    	Parser main_parser;
    	main_parser.SetRegexes();
    	string command;
    	// Provides a never-ending command line interface
    	while (true)
    	{
    		line_counter++;
    		cout << "<" << line_counter << name << "-> "; 
    		//cin >> command;
    		getline(cin, command);
    		command = main_parser.ParseCommand(command);
    		main_parser.RunCommand(command);
    	}
    }