how to run and modify a cmd script or file in c -


@echo off  set "yourdir=c:\users\asus\desktop"  echo:list files: %%a in ("%yourdir%\*") echo %%~fa  echo:list directories: /d %%a in ("%yourdir%\*") echo %%~fa  echo:list directories , files in 1 command: /f "usebackq tokens=*" %%a in (`dir /b "%yourdir%\*"`) echo %yourdir%\%%~a  pause 

i have cmd script , want include , run in c script

and if possible modify (the cmd script contains variables ).

do have solution ?

update

you can create script file on-the-fly in c program call from. note must handle characters " , \ , % specially when part of string literal, using \" , \\ , %% respectively.

#include <stdio.h> #include <stdlib.h>  void fatal(char *msg) {     printf("%s\n", msg);     exit (1);     }  void makebat(file *fp, char *dirname) {     fprintf (fp, "@echo off\n");     fprintf (fp, "\n");     fprintf (fp, "set \"%s=c:\\users\\asus\\desktop\"\n", dirname);     fprintf (fp, "\n");     fprintf (fp, "echo:list files:\n");     fprintf (fp, "for %%%%a in (\"%%%s%%\\*\") echo %%%%~fa\n", dirname);     fprintf (fp, "\n");     fprintf (fp, "echo:list directories:\n");     fprintf (fp, "for /d %%%%a in (\"%%%s%%\\*\") echo %%%%~fa\n", dirname);     fprintf (fp, "\n");     fprintf (fp, "echo:list directories , files in 1 command:\n");     fprintf (fp, "for /f \"usebackq tokens=*\" %%%%a in (`dir /b \"%%%s%%\\*\"`) echo %%%s%%\\%%%%~a\n", dirname, dirname);     fprintf (fp, "\n");     fprintf (fp, "pause\n"); }  int main(int argc, char *argv[]) {     file *fp;     char *fname = "myscript.bat";     if ((fp = fopen(fname, "wt")) == null)         fatal("cannot open script file");      makebat(fp, "mydirectory");      if (fclose (fp))         fatal("cannot close script file");     //system(fname);     return(0); } 

script file generated:

@echo off  set "mydirectory=c:\users\asus\desktop"  echo:list files: %%a in ("%mydirectory%\*") echo %%~fa  echo:list directories: /d %%a in ("%mydirectory%\*") echo %%~fa  echo:list directories , files in 1 command: /f "usebackq tokens=*" %%a in (`dir /b "%mydirectory%\*"`) echo %mydirectory%\%%~a  pause 

Comments

Popular posts from this blog

google chrome - Developer tools - How to inspect the elements which are added momentarily (by JQuery)? -

angularjs - Showing an empty as first option in select tag -

php - Cloud9 cloud IDE and CakePHP -