I need to create a file from within a batch file, but I can't find a DOS command anywhere that does this. For now, I'm just redirecting a single character to the file (and thus creating it) - ugly hack, right?
Cheers.
I need to create a file from within a batch file, but I can't find a DOS command anywhere that does this. For now, I'm just redirecting a single character to the file (and thus creating it) - ugly hack, right?
Cheers.
Code:#include <cmath> #include <complex> bool euler_flip(bool value) { return std::pow ( std::complex<float>(std::exp(1.0)), std::complex<float>(0, 1) * std::complex<float>(std::atan(1.0) *(1 << (value + 2))) ).real() < 0; }
Just a guess
copy nul myfile
If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
If at first you don't succeed, try writing your phone number on the exam paper.
Nope (but nice try).
OK, ugly hack #2:
type nul > myfile
...dos sucks.
Last edited by Sebastiani; 03-14-2004 at 03:10 AM.
Code:#include <cmath> #include <complex> bool euler_flip(bool value) { return std::pow ( std::complex<float>(std::exp(1.0)), std::complex<float>(0, 1) * std::complex<float>(std::atan(1.0) *(1 << (value + 2))) ).real() < 0; }
Look up DOS interrupt 21h in Ralph Brown's Interrupt List.
You can call an interrupt from a batch file?
Code:#include <cmath> #include <complex> bool euler_flip(bool value) { return std::pow ( std::complex<float>(std::exp(1.0)), std::complex<float>(0, 1) * std::complex<float>(std::atan(1.0) *(1 << (value + 2))) ).real() < 0; }
>>I need to create a file from within a batch file
And you can't write a program to do that for you (create the file)?
>>copy nul myfile
... as expected, this works for me. What errors do you get?
>>type nul > myfile
... would've been my second choice after copy.
When all else fails, read the instructions.
If you're posting code, use code tags: [code] /* insert code here */ [/code]
Well no, but creating a file from within a batch file does not fall under DOS programming. That falls more under what can be done in DOS from a user viewpoint rather than what can be accomplished in code under DOS.
edit <some_name>.bat
There are several batch commands for you to use inside of batch files. Look up DOS 6.22 batch commands on www.google.com and you will find all of em.
>> And you can't write a program to do that for you (create the file)?
I'm invoking a chain of compilation tools, the file in question gets created/destroyed somewhat dynamically.
>>copy nul myfile
All I get is '(0) Files copied' and no file.
Anyway, thanks for all of the suggestions.
Code:#include <cmath> #include <complex> bool euler_flip(bool value) { return std::pow ( std::complex<float>(std::exp(1.0)), std::complex<float>(0, 1) * std::complex<float>(std::atan(1.0) *(1 << (value + 2))) ).real() < 0; }
Gimme more info Sebastiani and I can help. If anything I could code a simple program in C that could invoke DOS int 21h to do this for you.
Well if you're going to the trouble of writing an external program, then a simple
fclose(fopen("file","w"));
type hack seems to be easy enough.
The 'touch' program on linux is a more capable version, and there are ports to the MS world.
If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
If at first you don't succeed, try writing your phone number on the exam paper.