Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 删除特定文件、排除特定目录、批处理文件_Batch File_Directory_Delete File - Fatal编程技术网

Batch file 删除特定文件、排除特定目录、批处理文件

Batch file 删除特定文件、排除特定目录、批处理文件,batch-file,directory,delete-file,Batch File,Directory,Delete File,如何从运行批处理文件的位置及其以下级别搜索多个文件夹,并删除名为“file Setup.msi”的文件,但不包括目录“%~dp0Installer Upgrader”。我试过这个: FOR /r /d %%I in (CabiBond Setup.msi) do ( if /i NOT "%%~nxI" equ "Installer-Upgrader" rmdir /q /s "%%~I" ) DEL /q "file

如何从运行批处理文件的位置及其以下级别搜索多个文件夹,并删除名为“file Setup.msi”的文件,但不包括目录“%~dp0Installer Upgrader”。我试过这个:

FOR /r /d %%I in (CabiBond Setup.msi) do (
    if /i NOT "%%~nxI" equ "Installer-Upgrader" rmdir /q /s "%%~I"
)
DEL /q "file Setup.msi"

PAUSE
但从同一个脚本中,我得到了如下信息:

C:\Folder1\Folder2\setup.msi

系统找不到指定的文件

找不到C:\Folder1\file Setup.msi

(C:\Folder1\是运行批处理文件的位置)


不幸的是,msi(或带有其他文件名的exe,一旦成功,我也将添加)已经有了一个空间,这个脚本将运行数百个站点整理它们的安装集,因此folder1和folder2或更多可能都将被随机命名,并且我想排除的文件夹将是主主安装集,因此不能接触这个,但将位于其他安装集之间。

这显示了主体。你不需要第一句话。使用dir和findstr。您还可以对循环使用

查看文档中文件夹的大小,不包括音乐、视频或图片文件夹

for /f "skip=2 tokens=3" %A in ('Reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Personal"') do set doc=%A

for /f "usebackq tokens=2* delims= " %i IN (`dir "%doc%" /a /s ^|findstr /i /v "\/"^|findstr /l /v "Pictures Music Video"`) DO @echo %j&echo.