亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? backup.c

?? 這是能將文件進行加密的一個工具
?? C
字號:
///////////////////////////////////////////////////////////////////////////////
//
//  文	件: Backup.c
//		執行備分工作的相關函數
//
//  作  者: 江南孤峰 
//  聯  系:QQ: 403324669   
//  時  間: 2007--3--3
//
///////////////////////////////////////////////////////////////////////////////


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <direct.h>
#include <io.h>
#include <conio.h>
#include "FilePass.h"

// 創建執行備分工作必要的目錄 
int	CreateBackupDirect(void){
	char strSavePath[_MAX_PATH] = {""};
	
	_getcwd(strSavePath,_MAX_PATH);
	if(!strcmp(strBackupDirect,""))	// 備分目錄的獲取不成功
		return FAILED;
	if(_chdir(strBackupDirect))	// 目錄不存在		
		_mkdir("backup");
	else
		_chdir(strSavePath);	// 恢復當前目錄	
	return SUCCESS;
}

// 創建執行備分工作必要的文件
int	CreateBackupFile(void){
	char strSavePath[_MAX_PATH] = {""};
	FILE *fp;

	_getcwd(strSavePath,_MAX_PATH);
	_chdir(strBackupDirect);
	if(_access("BackFile.ini",0)){    // 文件BackFile.ini不存在
		if((fp = fopen("BackFile.ini","w+")) != NULL){
			fprintf(fp,"###");// 文件結束標記
			fclose(fp);
		}
		else
			return FAILED;
	}
	if(_access("FileTimes.ini",0)){	
		if((fp = fopen("FileTimes.ini","w+")) != NULL){
			fprintf(fp,"0");  // 重命名因子初始化為 0
			fclose(fp);
		}
		else
			return FAILED;
	}
	_chdir(strSavePath);
	return SUCCESS;
}

// 創建執行備分工作必要的目錄,文件
void	CreateBackupDirectAndFile(void){
	if(CreateBackupDirect() == FAILED){
		puts("創建執行備分工作必要的目錄失敗\n");
		return ;
	}
	if(CreateBackupFile() == FAILED)
		puts("創建執行備分工作必要文件失敗\n");
}

// 讀取備分目錄中的文件數目
int	ReadFileCounts(void){
	FILE *fp;
	int  count = 0;

	if((fp = fopen("FileTimes.ini","r+")) == NULL){
		puts("文件 FileTimes.ini 不存在\n");
		if(CreateBackupFile() == SUCCESS){
			fp = fopen("FileTimes.ini","r+");
			puts("文件 FileTimes.ini 已創建\n");
		}
		else
			return count;
	}
	fscanf(fp,"%d",&count);
	rewind(fp);
	fprintf(fp,"%d",++count);
	fclose(fp);
	return count;
}

// 將當前目錄下的文件 [strFileName] 移動到目錄 [strDestDirect]
int	MyMoveFile(char *strFileName,char *strDestDirect){
	FILE *fp;
	long fileSize = 0;
	char *p;
	char strSavePath[_MAX_PATH];

	if((fp = fopen(strFileName,"r")) == NULL)
		return FAILED;
	fileSize = _filelength(_fileno(fp));
	if((p = (char*)malloc(fileSize)) == NULL){
		puts("內存不足 !\n");
		return FAILED;
	}
	fread(p,fileSize,1,fp);
	fclose(fp);
	if(remove(strFileName) != SUCCESS)
		printf("刪除文件 %s 失敗\n",strFileName);
	_getcwd(strSavePath,_MAX_PATH);	
	_chdir(strDestDirect);
	if((fp = fopen(strFileName,"w+")) == NULL){
		printf("丟失文件 %s\n",strFileName);
		free(p);
		return FAILED;
	}
	fwrite(p,fileSize,1,fp);
	fclose(fp);
	_chdir(strSavePath);
	free(p);
	return SUCCESS;
}


void	BackupFile(char *strFileName){
	char	strBkFileName[FILE_LENGTH + 6];
	char	strSavePath[_MAX_PATH + 2];
	int	count = 0;
	FILE	*fp;

	if(MyMoveFile(strFileName,strBackupDirect) == FAILED){
		printf("文件 %s 備分失敗\n",strFileName);
		return ;
	}
	_getcwd(strSavePath,_MAX_PATH);
	// 在備分目錄下重命名文件,并將原目錄信息保存
	_chdir(strBackupDirect);
	count = ReadFileCounts();
	sprintf(strBkFileName,"%s#%d",strFileName,count);
	rename(strFileName,strBkFileName);
	if( (fp = fopen("BackFile.ini","a")) == NULL &&
	    (CreateBackupFile() == FAILED) ){
		printf("備分文件時,丟失文件 %s 的原路徑\n",strFileName);
		return;
	}
	fprintf(fp,"%s\n",strBkFileName); 
	fprintf(fp,"%s\n",strSavePath);
	fprintf(fp,"###");		// 文件結束標記
	printf("文件 %s 備分完成\n",strFileName);
	fclose(fp);
	_chdir(strSavePath);
}

// 從備分目錄中恢復文件到原位置
void	GetBackFile(
		char *strAddSuffix ,	// 加密文件的后綴
		char *strSourceSuffix   // 原文件的后綴
	){
	char	strSavePath[_MAX_PATH + 2] = {""};
	char	strFileName[FILE_LENGTH + 3] = {""};
	char	strOldFileName[FILE_LENGTH] = {""};
	char	strFileDirect[_MAX_PATH + 4] = {""};
	char	strFileDelete[FILE_LENGTH + 2] = {""};
	int	iCountSuccess = 0;
	FILE	*fp;

	_getcwd(strSavePath,_MAX_PATH);	
	_chdir(strBackupDirect);	
	if((fp = fopen("BackFile.ini","r")) == NULL){
		puts("打開文件 BackFile.ini 失敗, 文件無法恢復到原位置\n");
		return;
	}
	while(TRUE){
		// 獲取文件名和目錄信息
		fgets(strFileName,FILE_LENGTH,fp);
		if(!strcmp(strFileName,"###"))	     // ### 為結束標記
			break;
		strcpy(strFileName,strFileName+3);   // 忽略 ###
		*strchr(strFileName,'\n') = '\0';    // 去掉讀入的回車符
		strcpy(strOldFileName,strFileName);
		*strrchr(strOldFileName,'#') = '\0'; // 取得備分文件的原名字

		fgets(strFileDirect,_MAX_PATH,fp);
		*strchr(strFileDirect,'\n') = '\0';
		// 移動文件
		if(MyMoveFile(strFileName,strFileDirect) == FAILED){
			printf("文件 \"%s\" 恢復失敗\n\n",strOldFileName);
			continue;
		}
		_chdir(strFileDirect);
		if(rename(strFileName,strOldFileName) != SUCCESS){
			remove(strFileName);	   
			printf("發現同名文件 %s\n",strOldFileName);
		}
		else{
			printf("文件 \"%s\" 恢復成功\n",strOldFileName);
			iCountSuccess ++;
		}
		// 刪除加密文件
		if(  GetDestFileName(
			strFileDelete,
			strOldFileName,
			strSourceSuffix,
			strAddSuffix) == SUCCESS &&
		     !access(strFileDelete,0)
		  ){	 
			if(remove(strFileDelete) == SUCCESS)
				printf("刪除文件 \"%s\" 完成\n",strFileDelete);
			else
				printf("刪除文件 \"%s\" 失敗\n",strFileDelete);
		}
		_chdir(strBackupDirect);
		putchar('\n');
	}
	fclose(fp);
	_chdir(strBackupDirect);
	if(system("del *.*/q/f") == FAILED)
		puts("清空備分目錄失敗\n");
	else
		puts("清空備分目錄完成\n");
	CreateBackupFile();
	printf("共恢復文件:%d\n",iCountSuccess);
	_chdir(strSavePath);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国成人在线视频| 色老综合老女人久久久| 亚洲国产裸拍裸体视频在线观看乱了| 国产亚洲视频系列| 国产亚洲成av人在线观看导航| 日韩你懂的在线播放| 欧美不卡一二三| 91精品国产欧美一区二区成人| 欧美老肥妇做.爰bbww视频| 欧美蜜桃一区二区三区| 欧美精品在线观看播放| 欧美一区二区三区视频免费| 777欧美精品| 国产精品国产a级| 国产精品乱码一区二区三区软件 | 3d成人动漫网站| 欧美日本国产一区| 精品国产91乱码一区二区三区 | 亚洲女厕所小便bbb| 一区二区三区自拍| 精品一区二区三区在线观看国产 | 日韩福利视频导航| 色天天综合久久久久综合片| 日本高清成人免费播放| 在线观看精品一区| 欧美日韩国产成人在线91| 日韩一区二区在线看| 国产日韩成人精品| 亚洲大片免费看| 久久国产三级精品| 91亚洲精品久久久蜜桃| 欧美日韩国产在线观看| 国产人成一区二区三区影院| 欧美成人伊人久久综合网| 国产欧美日韩精品在线| 亚洲自拍欧美精品| 国产一区不卡视频| 欧美吻胸吃奶大尺度电影| 久久久久久电影| 亚洲成人免费av| 成人精品视频一区二区三区 | 3d动漫精品啪啪一区二区竹菊 | 成人福利视频在线| 欧美日韩二区三区| 日韩一区日韩二区| 六月丁香婷婷久久| 欧美在线观看一区| 亚洲欧美日韩一区二区| 国产一区二区视频在线播放| 欧美丝袜丝交足nylons| ...xxx性欧美| 国产成人一级电影| 日韩视频不卡中文| 亚洲国产乱码最新视频 | 精品国产一区二区三区不卡| 亚洲一区在线观看免费| 菠萝蜜视频在线观看一区| 亚洲成年人影院| 狂野欧美性猛交blacked| 色8久久精品久久久久久蜜| 国产日韩影视精品| 久久99久久99| 日韩一区二区三区视频在线| 亚洲第一成人在线| 欧洲av在线精品| 亚洲日本在线观看| 色综合天天综合在线视频| 国产精品久久一级| 福利视频网站一区二区三区| 国产清纯白嫩初高生在线观看91| 久久国产乱子精品免费女| 欧美夫妻性生活| 亚洲电影一区二区| 色噜噜夜夜夜综合网| 一区二区三区不卡在线观看| 日本久久一区二区| 亚洲日本在线天堂| 在线视频国内一区二区| 一区二区三区在线播| 色视频欧美一区二区三区| 亚洲精品v日韩精品| 色播五月激情综合网| 天天影视涩香欲综合网| 91精品国产麻豆| 激情综合亚洲精品| 中文字幕第一页久久| 99精品在线免费| 亚洲一区二区在线视频| 欧美日韩成人在线| 激情伊人五月天久久综合| 国产日韩欧美高清| 色婷婷精品久久二区二区蜜臀av| 亚洲综合一区二区| 日韩色视频在线观看| 国产不卡在线一区| 中文字幕综合网| 欧洲精品在线观看| 久久99国产精品久久99果冻传媒| 国产三级三级三级精品8ⅰ区| 成人免费黄色大片| 亚洲v精品v日韩v欧美v专区| 精品三级av在线| 成人av资源站| 日本不卡一区二区三区高清视频| 国产亚洲欧美色| 欧美午夜精品久久久久久超碰 | 亚洲 欧美综合在线网络| 精品免费日韩av| 色偷偷88欧美精品久久久| 亚洲国产你懂的| 国产亚洲精品aa午夜观看| 欧美视频一区在线| 国产黄色91视频| 亚洲成在人线在线播放| 久久毛片高清国产| 欧美午夜电影在线播放| 成人免费毛片片v| 人妖欧美一区二区| 亚洲精品欧美综合四区| 久久久精品天堂| 777a∨成人精品桃花网| 94色蜜桃网一区二区三区| 另类小说视频一区二区| 亚洲视频在线一区观看| 久久综合九色综合97婷婷| 欧美在线|欧美| 不卡一二三区首页| 激情深爱一区二区| 日韩电影在线一区| 亚洲午夜久久久久久久久电影院 | 91麻豆精品久久久久蜜臀| 99国产精品99久久久久久| 国产美女一区二区| 麻豆精品一二三| 日本欧美一区二区| 亚洲小少妇裸体bbw| 亚洲精品久久嫩草网站秘色| 国产精品美女www爽爽爽| 精品久久五月天| 日韩女优电影在线观看| 欧美精选午夜久久久乱码6080| 一本大道av一区二区在线播放| 国产成人免费视频网站 | 亚洲精品国产精华液| 国产精品蜜臀av| 国产视频视频一区| 国产亚洲va综合人人澡精品| 7777精品伊人久久久大香线蕉超级流畅| 色婷婷久久久综合中文字幕 | 日本视频在线一区| 美女任你摸久久| 日本视频免费一区| 午夜av一区二区| 亚洲天堂精品视频| 一区二区三区在线播放| 亚洲午夜私人影院| 亚洲成人av电影| 首页国产欧美日韩丝袜| 日韩精品一级中文字幕精品视频免费观看 | 2023国产一二三区日本精品2022| 91麻豆精品国产91久久久更新时间| 91麻豆精品国产91久久久资源速度 | 香蕉av福利精品导航 | 久久久精品一品道一区| 国产精品三级电影| 亚洲三级在线播放| 午夜伦欧美伦电影理论片| 美女久久久精品| 懂色av中文一区二区三区 | 欧美精品tushy高清| 91精品欧美久久久久久动漫 | 成人禁用看黄a在线| 91蝌蚪porny九色| 欧美日韩国产大片| xfplay精品久久| 国产精品国产三级国产有无不卡 | 在线播放日韩导航| 精品久久久久久久人人人人传媒 | 免费看欧美女人艹b| 国产真实乱偷精品视频免| av亚洲精华国产精华| 精品视频免费看| 久久夜色精品国产噜噜av| 一区精品在线播放| 日韩国产精品久久久| 国产黄色精品网站| 欧美日韩一二三| 久久久一区二区| 性久久久久久久| 成人精品国产一区二区4080| 欧美精品电影在线播放| 最新热久久免费视频| 日av在线不卡| 欧美亚洲综合色| 中文字幕欧美激情| 美腿丝袜亚洲一区| 欧美亚洲高清一区二区三区不卡| 亚洲精品一区二区三区在线观看 | 香蕉乱码成人久久天堂爱免费| 国产成人在线观看|