相关疑难解决方法(0)

删除bash中除最新的X文件之外的所有文件

有一个简单的方法,在一个非常标准的UNIX环境中使用bash运行命令来删除目录中除最新的X文件之外的所有文件吗?

为了给出一个具体的例子,想象一下一些cron作业每小时写一个文件(比如一个日志文件或一个tar-up up备份)到一个目录.我想要一种方法来运行另一个cron作业,它将删除该目录中最旧的文件,直到少于5个.

而且要清楚,只有一个文件存在,它永远不应该被删除.

unix bash scripting

138
推荐指数
10
解决办法
10万
查看次数

删除批处理文件中的文件时如何跳过"你确定Y/N"

我不能忘记我的生活,记得在删除文件时如何绕过烦人的提示"你确定Y/N".

我似乎记得它是这样的:

del C:\Test && ECHO Y
Run Code Online (Sandbox Code Playgroud)

windows cmd batch-file

133
推荐指数
3
解决办法
24万
查看次数

Forfiles批处理脚本(转义@字符)

我正在研究一个批处理脚本,它允许我使用forfiles删除早于设定期间的文件.目前,我的目标是打印将被删除的文件.

我正在使用的forfiles调用从cmd.exe shell中完美运行,但是只要我将它嵌入到批处理脚本中,就会barfs.我怀疑这是因为@字符未被正确转义,但我不确定.

我正在运行的命令是:

forfiles /S /P "r:\" /m *.bak /d -10 /c "cmd /c echo @PATH"
Run Code Online (Sandbox Code Playgroud)

并导致以下错误:

ERROR: Invalid argument/option - '@PATH'
Type "FORFILES /?" for usage.
Run Code Online (Sandbox Code Playgroud)

我已经搜索了整个地方并尝试了一些不同的方案来转义@PATH组件.从@@ PATH\"@ PATH \"的所有内容都没有结果.

任何帮助,将不胜感激!

我还应该注意到,我从这里开始了很多关于forfiles的知识.

batch-file forfiles

18
推荐指数
3
解决办法
6万
查看次数

Log4Net可以自动删除日志文件吗?

我在用C#编写的Windows服务程序中使用log4net RollingFileAppender.日志目录中文件的数量和大小增长得太快,需要清理.配置如下:

<appender name="Rolling Log" type="log4net.Appender.RollingFileAppender">
<file value="..\logs\MyProgram.%cs{instanceName}.log" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value=".yyyy-MM-dd.lo\g" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="150MB" />
<layout type="log4net.Layout.PatternLayout">
  <conversionPattern value="%date [%-5level] %property{remoteUser} [%threadIdentity] %type{1}.%method - %message%newline%exception" />
</layout>
Run Code Online (Sandbox Code Playgroud)

我只想保留30天的日志.如何配置log4net自动删除日志?如果没有通过log4net可用,我会有什么解决方案?

先感谢您.

.net c# logging log4net log4j

18
推荐指数
2
解决办法
3万
查看次数

批处理文件,用于删除早于指定日期的文件

如何创建批处理文件以删除早于指定日期的文件?

这似乎不起作用;

:: --------DELOLD.BAT----------
@echo off
SET OLDERTHAN=%1
IF NOT DEFINED OLDERTHAN GOTO SYNTAX

for /f "tokens=2" %%i in ('date /t') do set thedate=%%i
type %1
pause
set mm=%thedate:~0,2%
set dd=%thedate:~3,2%
set yyyy=%thedate:~6,4%

set /A dd=%dd% - %OLDERTHAN%
set /A mm=%mm% + 0

if /I %dd% GTR 0 goto DONE
set /A mm=%mm% - 1
if /I %mm% GTR 0 goto ADJUSTDAY
set /A mm=12
set /A yyyy=%yyyy% - 1

:ADJUSTDAY
if %mm%==1 goto SET31
if %mm%==2 goto LEAPCHK
if …
Run Code Online (Sandbox Code Playgroud)

batch-file

15
推荐指数
5
解决办法
9万
查看次数

在批处理文件中查明文件是否超过4小时

很简单,我怎么知道文件夹中的特定文件是否超过X小时?文件名和位置将始终相同.

谢谢

command-line batch-file batch-processing

7
推荐指数
2
解决办法
2万
查看次数

批量 - 删除文件夹

首先:我对批处理完全不熟悉.

我想写一个批处理文件,删除最小的文件和文件夹.5天或更久.此代码适用于所有文件:

FORFILES /p "C:\Users\rs\Desktop\testbatch" /s /m *.* /d -5 /c "cmd /c if not @isdir==TRUE del @path"
Run Code Online (Sandbox Code Playgroud)

但是我的文件夹仍在这里,如果它们是min,我也不知道如何删除它们.5天大.有人可以给我一个提示吗?

干杯

batch-file

6
推荐指数
1
解决办法
4957
查看次数

如何删除超过 X 小时或分钟的文件?

如何删除超过 X 小时或分钟的文件?

我有一个批处理文件,可以删除目录中超过 1 天的文件,但我需要几分钟和几小时。

REM Remove files older than 1 day
forfiles /p "C:\Users\Username\Downloads" /s /m *.* /c "cmd /c Del @path" /d -1
Run Code Online (Sandbox Code Playgroud)

batch-file

6
推荐指数
1
解决办法
3万
查看次数

如何从目录中删除旧文件,同时在Windows上保留最新文件

可能重复:
批处理文件,用于删除超过N天的文件

我想运行一个计划的Windows任务,删除目录中超过2周的所有文件.

原因是这些是填充我的服务器的IIS和Tomcat日志,但我想保留最新的日志以防我需要调查问题.

有没有人知道这样做的简单方法?

干杯

的NiGe

windows maintenance file

5
推荐指数
1
解决办法
2万
查看次数

使用批处理文件打开一系列文件之一

我根据这个结构最多有4个文件(注意前缀是日期)

  • 0830filename.txt
  • 0907filename.txt
  • 0914filename.txt
  • 0921filename.txt

我想打开最近的一个(0921filename.txt).我怎么能在批处理文件中这样做?

谢谢.

command-line cmd dos batch-file

5
推荐指数
2
解决办法
9881
查看次数