2013-03-18 87 views
2

我会解释我的情况。我需要一个批处理文件来搜索C:/ for'Minecraft.exe',如果它存在,就删除它。批处理脚本来搜索并删除特定的文件名

我不知道有足够的批次能够自己做到这一点,而且我到处寻找,所有我能找到的都是部分解决方案。

+0

这是为了你,还是你打算与别人分享的东西?我的世界有一个默认的安装目录,您可以指向而不是搜索。我觉得我不希望这个批处理文件在我的电脑上运行,因为它也会删除我的新的Minecraft副本,我想用它替换旧的副本!或者,这仅仅是“我的世界”的“卸载程序”? – Gray 2013-03-18 19:53:00

+0

它实际上将通过网络部署在PDQDeploy上,从一堆不应该拥有它的计算机中删除Minecraft。我需要每一份都消失了。 – 2013-03-18 19:55:19

+0

啊,好吧......我认为这是一个教育环境。不过,人们仍然可以重命名minecraft.exe或从USB驱动器启动它。并不是说我知道更好的方法来阻止这种情况,但我认为这存在很多弱点。也许禁止登录服务器的IP ..我不确定这会完全阻止它。我想如果人们知道你试图阻止这个程序执行,他们会有更好的解决方案。 – Gray 2013-03-18 23:23:52

回答

0

试试这个(你删除echo之前,它不会删除任何东西):

@echo off &setlocal 
for /f "delims=" %%i in ('dir /a-d /s /b c:\minecraft.exe') do echo del "%%~i" 
endlocal 
+0

问题在于Minecraft.exe也可以位于C:/的任何子目录中。所以我实际上需要搜索整个C:/驱动器,包括子目录。 – 2013-03-18 19:41:20

+0

是的,这是'dir/s'命令,它搜索C:\的所有文件夹。 – Endoro 2013-03-18 19:49:37

+0

嗯,有趣。所以它批量你不需要使用任何通配符之间的通配符? IE C:/%/ Minecraft.exe – 2013-03-18 19:59:53

2

好 - 好主意,这样做首先:

DIR /s c:\minecraft.exe 

但是,这只是寻找它。

是非常非常小心使用这个命令 - 出错,你可能会遇到麻烦。

del /p /s c:\minecraft.exe 

将删除所有minecraft.exe(但提示第一)

略去/p,它会不提示

添加/f删除,它会同时删除任何只读版本中,它认定。

只要小心,'k?

0

这可能是太晚,但:

For /F "tokens=*" %%I in ('Dir c:\Minecraft.exe /s /b') do set FOUND="%%~fI" 
del %FOUND% 

第一行搜索整个C:驱动器。第二行删除文件。

相关问题