自己闲的没事干做了这个C和DOS批处理相结合的程序。
你可以修改后编译运行即可,把文件放到这个磁盘,然后隐藏,你绝对找不到,文件不会丢失。
隐藏的是H:盘
在cmd输入
diskpart
select disk 0
list partition
可以查看电脑磁盘对应的编号
比如说我的:
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\XXXXXX>diskpart
Microsoft DiskPart 版本 6.1.7601
Copyright (C) 1999-2008 Microsoft Corporation.
在计算机上: XXXXXX
DISKPART> select disk 0
磁盘 0 现在是所选磁盘。
DISKPART> list partition
分区 ### 类型 大小 偏移量
------------- ---------------- ------- -------
分区 1 主要 39 MB 31 KB
分区 2 主要 12 GB 40 MB
分区 3 主要 50 GB 12 GB
分区 0 扩展的 403 GB 62 GB
分区 4 逻辑 130 GB 62 GB
分区 5 逻辑 130 GB 192 GB
分区 6 逻辑 100 GB 322 GB
分区 7 逻辑 43 GB 422 GB
然后更改源代码中我注释的位置即可隐藏任意分区
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char *argv[]) { FILE *fp1,*fp2; char hi[55] ,ru[35],s; system("color 0B"); if((fp1=fopen("Hide.txt","w+"))==NULL) {printf("程序出错,不能创建文件\n"); } if((fp2=fopen("Run.cmd","w+"))==NULL) {printf("程序出错,不能创建文件\n"); } printf("1.显示H: 2.隐藏H:?\n"); s=getchar(); strcpy(hi,"select disk 0\nselect partition 2\nset id=12 override"); //更改selsect partition 2的数字可以改变要隐藏的目标分区 strcpy(ru,"echo off\ndiskpart /s Hide.txt"); if(s=='1') hi[40]='0'; hi[41]='7'; fprintf(fp1,"%s",hi); fprintf(fp2,"%s",ru); fclose(fp1); fclose(fp2); system("Run.cmd"); system("del /q /f run.cmd"); system("del /q /f Hide.txt"); system("PAUSE"); return 0; }