【问题标题】:windows batch script to rename file with dash characterswindows批处理脚本用破折号重命名文件
【发布时间】:2023-04-02 18:21:01
【问题描述】:

文件进入我的 Windows Server,名称如下:AB-Cash-20490101.txt

我正在尝试将它们重命名为:ABC-Cash-20490101.txt

我的脚本是:

ren "D:\FileTransfer\incoming\AB Bank\AB-Cash*" ABC-Cash*.txt

但文件被重命名为:ABC-Cash20490101.txt

所以它取出了第二个破折号。如何简单地插入额外的“C”字符并使用 -date.txt 格式保留名称?

我应该提到我收到的文件名称如下:

AB-Cash-20490101.txt  AB-Transactions-20490101.txt  AB-Holdings-20490101.txt

我必须用前缀 ABC-(whatever)-(date).txt 重命名每一个

【问题讨论】:

    标签: windows batch-file


    【解决方案1】:
    for /f tokens=1-3 delims=- %a in ('dir /B') do ren %a-%b-%c %aC-%b-%c
    

    【讨论】:

    • also.. 注意 dir 命令也可以有特定的掩码,但这也是我对这个问题的第一反应。
    • 实际上,您需要为令牌做的所有事情就是tokens=1*。作为最佳实践,您应该在 FOR 选项周围使用引号,并在文件名和路径周围使用引号。 for /f "tokens=1* delims=-" %a in ('dir /B *.txt') do ren "%a-%b" "%aC-%b"。您还应该让用户知道,在批处理文件中使用 FOR 令牌变量时需要两个百分号。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-20
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    • 2012-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多