> > Does there exist a simple way to run "diff", and to redirect > > its output > > into an file? A batch file? Platform independence would be > > nice, of course. > > > > Start the shell instead of diff: > > exec('cmd','/c diff -r dir1 dir2 > diff.txt'); > > The /c tells the shell to execute the command and exit immediately. >
The above solution will show briefly the cmd window, the time of exexcuting the diff. If you want to get rid of these popups you can use the following alternative: ShellExecute(0, nil, 'cmd.exe', '/c diff -r dir1 dir2 > diff.txt', nil, 0); You need to add shellapi to the uses clause. Note that ShellExecute returns immediately and the new shell runs in the background, even when the program stops. The new parent of the shell process is Explorer. Exec returns when the shell ends. This is all windows though. Ludo _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel