这个问题问得很实在。答案是:看你格的是哪一种。Windows 的格式化窗口里有个"快速格式化"的勾,勾着和不勾,结果差一个天一个地。
先说原理,再说怎么判断自己遇到的是哪种。

硬盘上的数据分两块:一块是目录,记录哪个文件存在哪个位置、多大、什么时候改的;另一块是数据区,真正的内容。
快速格式化做的事,是把目录区清空,标记成"这里没有文件"。数据区一个字节都没动,原来的内容还在原地躺着。这就是为什么格式化之后还能恢复。
打个比方:一本书的目录页被撕了,正文一页没少。你知道里面有什么,只是不知道在第几页。恢复软件干的事,就是重新把目录编出来。
目录能编得多完整,取决于原来的文件在盘上是不是连续的。一个文件被拆成几十段散在各处,编的时候容易接错,出来就是打不开的残缺文件。
不勾快速格式化,系统会整盘写一遍零。这一步走完,数据区被真正覆盖,谁也救不回来。一个 1T 的盘,写零要一两个小时,慢得让人以为卡住了。
好消息是这个选项默认不勾,而且要手动取消勾选才会执行。多数人手快,都是直接点开始,走的快速格式化。
目录清了,系统认为这块空间是空的,之后新写进去的东西会直接占用这些位置。写多少覆盖多少,覆盖了就没了。
所以真正决定能不能救的,不是"格式化"这个动作,是格式化之后写了多少。刚格式化就停手的,八成以上能救;用了一周的,能救的只剩零头。

看三件事:格式化之后有没有往里存过大文件、系统有没有自动更新、是不是固态盘。
系统自动更新这一项最坑。格式化完重装系统,更新包几个 G 起步,全写在原来数据的位置上,人什么都没干,数据就没了。
固态盘还要多看一项:TRIM。格式化会触发主控擦除,几个小时内整块闪存被清空,这时候软件扫出来的都是空文件。
还有一个容易忽略的点:格式化之后装过的软件。装软件会解压几百 M 的文件到系统盘,这些写入是连续的,正好压在原来数据的位置上。

顺序不能反。先扫描后停止写入,等于白扫。

机械盘的数据写在盘片上,格式化之后内容还在,物理位置不变。固态不一样,数据写在闪存颗粒里,由主控的映射表记录逻辑地址和物理块的对应关系。
格式化之后,文件系统告诉主控"这些块可以回收",主控就在空闲时执行擦除,把整个块擦干净,为下次写入腾地方。擦完之后,物理上就真的没有了,任何软件都读不出来。
所以固态格式化之后,抢的是那几个小时。关机比什么都重要,通电待机的时候主控才有机会做垃圾回收。
一次快速格式化不影响,扫的还是同一批数据。多次格式化也不会叠加伤害,因为都没写数据区。真正致命的是写零和覆盖。
能,而且 U 盘多半是 FAT32 或者 exFAT,目录结构简单,恢复成功率比硬盘还高一些。前提是格式化后没往里存新文件。
立刻关机,把卡取出来用读卡器接到电脑上扫。别在手机里继续拍照,一张照片就可能覆盖掉一片。