The problem is you are trying to create a directory that contains '
:
' characters. Here:
string strDate = DateTime.Now.ToString("d-M-yyh:mm:ss.ffftt").ToString();
That is not possible.
You should rethink the naming scheme for one that is compatible with NTFS filesystem.
Please see
NTFS Naming Conventions[
^]
(Moreover, why do you call ToString() method twice? Don't you trust the first call to return a string value?)