[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
改成这样,避免批处理自身被打包:
@echo off
path %path%;"C:\Program Files\WinRAR"
cd /d "D:\test" ||pause&&exit/b

echo 打包中,请稍等...
for /f "delims=" %%a in ('dir/b/a-d') do (
  if not exist "%%~na.exe" (
    dir /b "%%~na.??????????"|rar a -idq -sfx "%%~na" -n@ -x"%~f0"
  )
)
echo 完成。请按任意键退出...
pause>nul

不会漏掉没有扩展名的文件,dir test.???????? 会列出所有文件名为 test 的文件,包括没有扩展名的。

[ 本帖最后由 tireless 于 2009-5-16 10:17 编辑 ]

TOP

回复 13楼 的帖子

那就再加 10 个问号...

你的要求是打包成同名的 exe,如果有 test.exe,打包后要如何改名?

TOP

  1. @echo off
  2. path %path%;"e:\Program Files\WinRAR"
  3. cd /d "D:\test"
  4. md 自解压文件
  5. for %%a in (*) do (
  6.   if not exist 自解压文件\%%~na.exe (
  7.     dir/a-d/b "%%~na.??????????"|rar a -idq -sfx "自解压文件\%%~na" -n@ -x"%~f0"
  8.   )
  9. )
复制代码

[ 本帖最后由 tireless 于 2009-5-18 23:10 编辑 ]

TOP

返回列表