【问题标题】:Put Validation on Filename using batch script使用批处理脚本对文件名进行验证
【发布时间】:2015-05-15 12:20:17
【问题描述】:

我有一个 bat 文件,例如。 TEST.bat 将附加一个句点。 示例 TEST.bat_Mar-15_Mar 我想将验证设置为如果第一个月,即 Mar = 第二个月在文件中,即 Mar,运行 TEST.bat 文件,否则生成消息 - 无效文件名。 月份也应该在正确的情况下匹配。 像 TEST.bat_Mar-15_Apr 或 TEST.bat_Mar-15_mar 这样的文件将被视为无效文件名。 我相信我们需要在这个验证脚本中调用 TEST.bat。

问候 奥迪

【问题讨论】:

  • 我多次阅读您的问题,但我完全不明白您想要达到的目标。你能解释一下你想要达到的目标吗?
  • 另外,如果您要求我们为您启动和完成您的项目,Stack Overflow 不是编码服务。请清楚地说明问题,以及您尝试解决的问题。
  • 我有一个文件名 - Test_Apr_15_Apr.txt。我想验证一下,如果我的第一个月,即 Apr(filename:~5,3) = 第二个月,即 Apr(Filename:~12,3),则返回条件 true,否则返回 False。脚本中存在我无法追踪的问题。请帮助@ECHO OFF cd C:\EPM_Batches\FDMEE_Batch\01TrialBalance\Script setlocal enabledelayedexpansion FOR %%X IN (Test_*.txt) DO (set Filename=%%X set month1=!Filename:~5,3!set month2 =!Filename:~11,3!echo !month1!echo !month2!) IF EXIST !month1!==!month2! Echo True ELSE Echo False PAUSE
  • @ECHO OFF cd C:\EPM_Batches\FDMEE_Batch\01TrialBalance\Script setlocal enabledelayedexpansion FOR %%X IN (Test_*.txt) DO (set Filename=%%X set month1=!Filename:~ 5,3!set month2=!Filename:~11,3!echo !month1!echo !month2!) IF EXIST !month1!==!month2! Echo True ELSE Echo False PAUSE

标签: validation batch-file batch-processing batch-rename


【解决方案1】:

有一些错误

IF EXIST !month1!==!month2! Echo True ELSE Echo False

首先,你不能写 EXIST,因为你比较了月 1 和月 2。 EXIST 用于检查文件是否存在。这些情况是不同的。 其次,你必须使用 () for if block like (echo true)。 最后,你的代码必须是这样的:

IF !month1!==!month2! (Echo True) ELSE Echo False

我建议您查看 if 的帮助说明。因为我的答案就在那里。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-21
    • 1970-01-01
    • 1970-01-01
    • 2010-09-20
    • 2015-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多