|
|||||||
New to SitePoint Forums? Register here for free!
|
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
SitePoint Zealot
![]() ![]() Join Date: Jun 2006
Location: Australia
Posts: 153
|
Calling DOS batch file from C on Vista
Gudday all
Need to call a DOS batch file from C on my Vista or XP machine (but the code will eventually go on a Win2003/2007 machine). Searching through the forums found a few previous threads which had some information but not quite. I want to call a batch file from the C programme and pass one parameter from C to the batch. The system call is Code:
system("testing_parse_lines_DOS-2.bat oldrptname");
The batch file is Code:
@echo off setlocal enabledelayedexpansion for /f "tokens=1,2,3,4* delims=\" %%a in (moveTIFF.dat) do ( set full_line=\%%a\%%b\%%c\%%d set file_name=%%d echo Full line: !full_line! echo File name: !file_name! echo. copy /b !file_name! !full_line! ) del RPT.dat del moveTiff.dat rename error.dat %1 The problem is that the renaming works up to a point. It changes the file name 'error.dat' to 'oldrptname' rather than the contents of the variable oldrptname. The data in oldrptname will always have the form "xxxxxxxx.RPT". The batch file and the exe are in the same directory. I tried the combination of Code:
system("testing_parse_lines_DOS-2.bat" oldrptname);
Looking through other threads mention has been made of setting paths etc: but I am unsure whether that applies to the C or batch or both. I am hoping that the error is a simple syntax error. Perhaps the way I pass the variable from C to the batch or the way I express it in the batch? |
|
|
|
|
|
#2 |
|
Follow Me On Twitter: @djg
![]() ![]() Join Date: Aug 2000
Location: Philadephia, PA
Posts: 18,684
|
You need to construct the command for system(), you can't just put the variable name in a literal string.
http://irc.essex.ac.uk/www.iota-six....at_strncat.asp |
|
|
|
![]() |
| Bookmarks |
«
Previous Thread
|
Next Thread
»
| Thread Tools | |
| Display Modes | |
|
|
|
All times are GMT -7. The time now is 02:05.










Linear Mode
