diff --git a/src/sbbs3/addfiles.c b/src/sbbs3/addfiles.c
index 1a19016dcabb424187b5b79f700cc7b9e7b1ae8f..c56a0706f827bc8df3dcc9fa7bf884742170714a 100644
--- a/src/sbbs3/addfiles.c
+++ b/src/sbbs3/addfiles.c
@@ -152,6 +152,11 @@ char *mycmdstr(char *instr, char *fpath, char *fspec, char *outstr)
 				case '!':   /* EXEC Directory */
 					strcat(cmd,scfg.exec_dir);
 					break;
+                case '@':   /* EXEC Directory for DOS/OS2/Win32, blank for Unix */
+#ifndef __unix__
+                    strcat(cmd,scfg.exec_dir);
+#endif
+                    break;
 				case '#':   /* Node number (same as SBBSNNUM environment var) */
 					sprintf(str,"%d",scfg.node_num);
 					strcat(cmd,str);
diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c
index b2d8dd7ad743e28e7b593696922840399bca460e..c0414f18ecaf72c95ab9ab44f35a8d0790a279d8 100644
--- a/src/sbbs3/ftpsrvr.c
+++ b/src/sbbs3/ftpsrvr.c
@@ -1264,6 +1264,11 @@ static char* cmdstr(user_t* user, char *instr, char *fpath, char *fspec, char *c
                 case '!':   /* EXEC Directory */
                     strcat(cmd,scfg.exec_dir);
                     break;
+                case '@':   /* EXEC Directory for DOS/OS2/Win32, blank for Unix */
+#ifndef __unix__
+                    strcat(cmd,scfg.exec_dir);
+#endif
+                    break;
                 case '#':   /* Node number (same as SBBSNNUM environment var) */
                     sprintf(str,"%u",scfg.node_num);
                     strcat(cmd,str);
diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c
index e4fdf604d9434ffb3f8e2bae9d6cb8ffd8059c71..84e8318364e436b859c9b3110fc18d466d459bdd 100644
--- a/src/sbbs3/mailsrvr.c
+++ b/src/sbbs3/mailsrvr.c
@@ -1434,6 +1434,11 @@ static char* mailcmdstr(char* instr, char* msgpath, char* lstpath, char* errpath
                 case '!':   /* EXEC Directory */
                     strcat(cmd,scfg.exec_dir);
                     break;
+                case '@':   /* EXEC Directory for DOS/OS2/Win32, blank for Unix */
+#ifndef __unix__
+                    strcat(cmd,scfg.exec_dir);
+#endif
+                    break;
                 case '%':   /* %% for percent sign */
                     strcat(cmd,"%");
                     break;