📄 test.c
字号:
#include <conio.h>
#include <dir.h>
#include <dos.h>
#include <stdio.h>
#include <stdlib.h>
void main ( int argc, char *argv[] )
{
struct ffblk dta;
struct dfree disk;
char pathname [30];
void far *sys;
int i, j, base, drive, right;
long int freedisk, all_file_long = 0, temp;
if ( argc != 3 )
{
printf ( "\nNo PARAMETERS or TOO MANY ");
printf ( "\nlook source_subname[+subname...]drive" );
printf ( "\nExamples: " );
printf ( "\n%s C:\\my\\*.* *c:\\tools\\*.exe a:\n", argv[0]);
return ;
}
if ( argv[2][0] > 'a' && argv[2][0] < 'z' )
{
drive = argv[2][0] - 'a';
}
else if( argv[2][0] > 'A' && argv[2][0] < 'Z' )
{
drive = argv[2][0] - 'a';
}
else
{
printf ( " 参数输入有误! " );
return;
}
getdfree ( drive+1, &disk );
base = disk.df_bsec * disk.df_sclus;
freedisk = disk.df_avail;
freedisk = freedisk * base;
i = 0;
while ( i < strlen ( argv[1] ))
{
for ( j = 0; ( argv[1][i] && ( argv [1][i] != '+' )); i ++, j++ )
pathname [j] = argv [1][i];
i ++;
pathname[j] = '\0';
right = findfirst ( pathname, &dta, 0x16 );
while ( !right )
{
if ( dta.ff_fsize%base )
{
temp = dta.ff_fsize;
all_file_long = all_file_long + (temp/base + 1)*base;
}
else
{
temp = dta.ff_fsize;
all_file_long = all_file_long + temp;
}
right = findnext ( &dta );
}
}
printf ( "\n Need total space: " );
printf ( "%12ld Bytes", all_file_long );
printf ( "\nThe disk left space:" );
printf ( "%12ld Bytes", freedisk );
if ( all_file_long <= freedisk )
printf ("\n\n****** The space is enough ****** " );
else
printf ( "\n\n****** Nosuch space to copy these files ******" );
getch();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -