小编SAT*_*uke的帖子

rm -f 相当于 PowerShell 忽略不存在的文件

背景

我有一个 PowerShell 脚本,它将一些结果写入文件中。

  • 我想在脚本开始时自动删除结果文件Remove-Item
  • 您可以手动删除结果文件,因此即使结果文件不存在,我也不想显示错误消息。
  • 我想在脚本因其他原因(例如文件被锁定)而无法删除结果文件时显示错误消息。

rm -f您可以在类 Unix 系统中满足上述所有要求。

问题

首先我尝试过Remove-Item -Force,但它无法忽略不存在的文件(参见rm -f忽略不存在的文件)。

PS C:\tmp> Remove-Item C:\tmp\foo.txt -Force
Remove-Item : Cannot find path 'C:\tmp\foo.txt' because it does not exist.
At line:1 char:1
+ Remove-Item C:\tmp\foo.txt -Force
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\tmp\foo.txt:String) [Remove-Item], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand
Run Code Online (Sandbox Code Playgroud)

接下来,我尝试了Remove-Item -ErrorAction IgnoreRemove-Item -ErrorAction SilentlyContinue,但是当它们无法删除文件时,它们不会显示错误消息(参见在这种情况rm -f下显示错误消息rm: cannot remove 'foo.txt': Operation not permitted)。

PS C:\tmp> …
Run Code Online (Sandbox Code Playgroud)

powershell rm

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

如何使用 Logback 仅更改当前线程的日志级别

在Logback中,可以使用setLevel()方法更改记录器的日志级别。但在 Logback 中,由于 logger 是单例的,setLevel() 方法的调用将影响使用同一 logger 的所有其他线程。

现在我在 Web 应用程序中使用了一个类,如下所示:

class FooService {
    private void insertRecord(Foo foo) {
        // insert one record to DB
    }

    public void insertOne(Foo foo) {
        insertRecord(foo);
    }

    public void insertMany(List<Foo> foos) {
        // I want to stop logging here
        for (Foo foo: foos) {
            insertRecord(foo);
        }
        // I want to resume logging here
    }
}
Run Code Online (Sandbox Code Playgroud)

在 Spring ApplicationConfig.xml 中:

<bean id="traceAdvice"
  class="org.springframework.aop.interceptor.CustomizableTraceInterceptor">
  <property name="enterMessage" 
    value="Entering $[targetClassShortName].$[methodName]($[argumentTypes])[$[arguments]]" />
  <property name="exitMessage" 
    value="Exiting  $[targetClassShortName].$[methodName] with return value …
Run Code Online (Sandbox Code Playgroud)

java logging logback

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

Windows中的`tr`命令是什么?

trLinux中命令的Windows等价物是什么?

例如,tr可以用换行符替换所有冒号.这可以在Windows中完成吗?

$ echo $PATH | tr ':' '\n'
/usr/local/bin
/usr/bin
Run Code Online (Sandbox Code Playgroud)

linux windows cmd tr

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

标签 统计

cmd ×1

java ×1

linux ×1

logback ×1

logging ×1

powershell ×1

rm ×1

tr ×1

windows ×1