【问题标题】:Batch files - names [closed]批处理文件 - 名称[关闭]
【发布时间】:2019-07-09 17:31:36
【问题描述】:

我有一个代码在桌面上查找具有特定模式的 png 文件并将它们移动到另一个目录。 在浏览文件时,我想检查名称中是否有模式。 我就是这样做的:

for %%f in (C:\Users\user\Desktop\*.png) do (
    if %%f==Hearthstone Screenshot*.png (
    move %%f C:\destination\
    )   
)

注意:所有需要的文件都以炉石截图开头,然后是一些数字。 我的主要问题在第 2 行。我无法让它工作。

【问题讨论】:

  • 这里怎么了?
  • @double-beep OP 说,必须以Hearthstone Screenshot 开头,他不知道怎么做,所以我不明白你的问题?
  • 当我遇到这样的问题时,我尝试在if... 之前添加类似echo %%f 的命令
  • if 不支持通配符。 move "%USERPROFILE%\Desktop\Hearthstone Screenshot*.png" "C:\destination\" 怎么了?

标签: string batch-file move


【解决方案1】:

这是怎么回事:

move C:\Users\user\Desktop\HearthstoneScreanshot*.png C:\Users\user\Desktop\Hearthstonescreanshot\

【讨论】:

  • Hearthstone Screenshot 和双引号之间缺少空格。
  • %USERPROFILE%\Desktop\Hearth... 也可能有意义。
  • 还有2>nul
【解决方案2】:

根据您的需要,也许这就是您正在寻找的……

@RoboCopy "%UserProfile%\Desktop" "%UserProfile%\Desktop\HearthStone_Screenshots" "HearthStone Screenshot*.png" /MOV>Nul 2>&1

这应该会自动创建保存目录HearthStone_Screenshots,如果它不存在的话。


注意:
我已经更正了我认为是您非常糟糕的拼写问题。如果这些文件和目录应该使用ea 而不是ee 命名,请根据需要重新调整。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多