删除编译文件的批处理程序

作者:朱金灿

来源:http://blog.csdn.net/clever101

 

        平时项目开发中时常需要清理临时编译文件,比如清理obj文件、pdb文件等,于是想写一个小工具实现这个功能。

 

        要实现这个功能,要选择合适的工具。首先想到使用批处理文件是最好的实现方式。于是写了个批处理文件,代码如下:

[plain]  view plain copy
  1. :: file: 清除临时编译文件.bat  
  2. :: purpose: 清除临时编译文件  
  3. :: author: zjc  
  4. :: time:2012.10.01  
  5.   
  6. del *.map /S>>logs.txt>logs.txt  
  7. del *.trg /S>>logs.txt  
  8. del *.tlb /S>>logs.txt  
  9. del *.sym /S>>logs.txt  
  10. del *.vxd /S>>logs.txt  
  11. del *.386 /S>>logs.txt  
  12. del *.exp /S>>logs.txt  
  13. del *.pel /S>>logs.txt  
  14. del *.rsp /S>>logs.txt  
  15. del *.res /S>>logs.txt  
  16. del *.pdb /S>>logs.txt  
  17. del *.pch /S>>logs.txt  
  18. del *.sbr /S>>logs.txt  
  19. del *.bsc /S>>logs.txt  
  20. del *.plg /S>>logs.txt  
  21. del *.ncb /S>>logs.txt  
  22. del *.opt /S>>logs.txt  
  23. del *.aps /S>>logs.txt  
  24. del *.tmp /S>>logs.txt  
  25. del *.ilk /S>>logs.txt  
  26. del *.idb /S>>logs.txt  
  27. del *.sup /S>>logs.txt  
  28. del *.tlh /S>>logs.txt  
  29. del *.tli /S>>logs.txt  
  30. @for /F "delims=" %%i in ('dir *.obj /S /B^|find "\Release\"') do del "%%i">>logs.txt  
  31. @for /F "delims=" %%i in ('dir *.obj /S /B^|find "\Debug\"') do del "%%i">>logs.txt  
  32. @for /f "delims=" %%i in ('dir /S /B /AD^|find "\Release"' ) do rd /q "%%i">>logs.txt  
  33. @for /f "delims=" %%i in ('dir /S /B /AD^|find "\Debug"' ) do rd /q "%%i">>logs.txt  

       

         稍微解释下这个程序,

del *.tli /S>>logs.txt 就是删除tli为后缀的文件,然后把它写到日志里。

@for /F "delims=" %%i in ('dir *.obj /S /B^|find "\Release\"') do del "%%i">>logs.txt 就是把Release文件下的obj文件列出来然后删除掉。

@for /f "delims=" %%i in ('dir /S /B /AD^|find "\Release"' ) do rd /q "%%i">>logs.txt

就是循环删除在Release文件下的上面指定后缀的文件。       

logs.txt 为生成的删除文件的日志文件,里面记录了已经删除了的文件。

     

       这条批处理文件的扩展方式是这样的:如果你要增加一个删除后缀,就在del语句后面增加一行,如增加删除htm文件:del *.htm /S>>logs.txt。若要增加一个obj文件所在的文件,就添加一行

@for /F "delims=" %%i in ('dir *.obj /S /B^|find "\Release\"') do del "%%i">>logs.txt

将你的文件夹替换上面的\Release\文件夹就行。

如果要搜索其它文件夹,则增加一行

@for /f "delims=" %%i in ('dir /S /B /AD^|find "\Debug"' ) do rd /q "%%i">>logs.txt

将你的文件夹替换上面的\Debug文件夹就行。


当出现"go' 不是内部或外部命令,也不是可运行的程序批处理文件"的错误提示时,通常有几个可能的原因和解决方式。 首先,检查一下GOPATH是否已经添加到Path环境变量中。如果未将GOPATH添加到Path环境变量中,系统就无法找到Go命令所在的路径。您可以按照以下步骤解决这个问题: 1. 打开系统的环境变量设置窗口。 2. 在系统变量中找到Path变量,并点击编辑。 3. 添加GOPATH\bin到Path变量的值中,确保路径之间使用分号进行分隔。 4. 保存并关闭设置窗口。 5. 重新启动命令行或终端窗口,再次运行Go命令查看是否解决了问题。 其次,检查一下GOOS变量是否与当前系统环境一致。如果GOOS变量设置与当前系统环境不匹配,也会导致类似的错误。您可以按照以下步骤解决这个问题: 1. 打开命令行或终端窗口。 2. 运行命令 "go env",查看当前的GOOS值。 3. 如果GOOS值与当前系统环境不匹配,可以使用命令 "go env -w GOOS=当前系统环境对应的变量" 来设置正确的GOOS值。 4. 重新运行Go命令查看是否解决了问题。 最后,如果以上两个解决方式都没有解决问题,您可以尝试删除之前下载的依赖包,并重新执行 "go get" 命令来重新下载依赖包。这有时可以解决一些编译或运行时的问题。 综上所述,当出现"go' 不是内部或外部命令,也不是可运行的程序批处理文件"的错误提示时,您可以先检查GOPATH是否已添加到Path环境变量中,然后再检查GOOS变量是否与当前系统环境一致。如果问题仍然存在,可以尝试删除依赖包并重新下载。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [go get xxx 之后 ‘xxx‘ 不是内部或外部命令,也不是可运行的程序批处理文件。](https://blog.csdn.net/qq_50487743/article/details/129320140)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [关于问题:‘go‘ 不是内部或外部命令,也不是可运行的程序批处理文件 的解决方案。(window10版本下)](https://blog.csdn.net/lakersssss24/article/details/108649181)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值