3

我有一个将日志转储到文件夹的应用程序。它将文件写入不带扩展名的最新文件,每个旧版本都会在末尾附加一个 .1、.2、.3 等。

例子:

Filename   
Filename.1  
Filename.2  
Filename.3

我想写一个删除“ filename.?”的基本脚本,但是每当我写类似的东西时

del /s "Filename.?"

或者

del /s "filename.*" 

它会删除具有该文件名的所有内容。

任何帮助将不胜感激。

4

3 回答 3

2

如果您不介意暂时重命名文件,您可以这样做:

ren filename filename_keep
del filename.*
ren filename_keep filename
于 2013-04-02T20:00:32.343 回答
2

为了好玩,写了一个小python脚本。

import os

for f in os.listdir('.'):
    if os.path.isfile(f):
        if '.' in f:
            os.remove(f)

只需弹出一个 python shell 并运行它,就像一个魅力。

于 2013-04-02T20:17:38.170 回答
2

假设是 Windows,把它放在一个名为“exclude_delete.bat”的文件中:

@echo off & setlocal

if "%1"=="" goto :syntax

set wildcard=%1

for %%f in (%wildcard%) do (
  if not "%%~xf"=="" (
    echo Deleting: %%f
    del "%%f"
  ) else (
    echo Keeping: %%f
  )
)

goto :eof

:syntax
echo. Syntax: %0 ^<wildcard^>
echo.
echo. Example: to delete every file "Filename.*" except "Filename":
echo.   %0 Filename.*
于 2013-04-02T20:17:41.613 回答