创建批处理文件以使用用户输入重命名和移动文件

时间:2011-08-01 02:52:38

标签: command-line batch-file command-line-arguments

我对DOS命令的知识非常有限(主要是简单的移动/复制/删除/重命名命令),我想在创建批处理文件时提供一些帮助,以执行以下步骤:

  1. 提示用户在输入框中输入版本号。

  2. 验证用户的输入以确保输入为主要版本,连字符,次要版本(例如5-10)

  3. 搜索运行批处理文件的当前文件夹,并通过将版本号和硬编码描述附加到该文件来重命名所有PDF。

    例如,EMDM.pdf的原始文件应重命名为EMDM_5-10_Software Operations Manual.pdf(注意版本号前后的下划线,以及说明文本中的空格)

  4. 转到\ webserver \ downloads并“移动”以“EMDM”开头并以“Software Operations Manual.pdf”结尾的位置的PDF文件到\ webserver \ downloads \ supserseded

    < / LI>
  5. 移动(备份)以前版本的PDF后,将与bacth文件位于同一文件夹中的新重命名的PDF“复制”到\ webserver \ downloads

  6. 成功移动后,删除与bacth文件位于同一文件夹中的PDF文件。

  7. 先谢谢你。

1 个答案:

答案 0 :(得分:2)

@echo off
:getversion
REM 1.
set /p VersionNumber=Enter the Version Number: 
REM 2.
for /f "tokens=1-3 delims=-" %%a in ("%VersionNumber%") do set Major=%%a& set Minor=%%b
REM 2.1 Revision of Version Number format
if not "%Major%-%Minor%" == "%VersionNumber%" goto getversion
REM 2.2 Revision of Major and Minor be numbers
set /a NMajor=Major, NMinor=Minor > NUL
if not "%NMajor%" == "%Major%" goto getversion
if not "%NMinor%" == "%Minor%" goto getversion
REM 3.
for %%a in (*.PDF) do ren "%%a" "%%~Na_%VersionNumber%_Software Operations Manual.pdf"
REM 4.
pushd \webserver\downloads
move "EMDM*Software Operations Manual.pdf" supserseded
REM 5.
popd
copy "EMDM*Software Operations Manual.pdf" \webserver\downloads
REM 6.
del "EMDM*Software Operations Manual.pdf"
REM Steps 5 and 6 above is the same as just one MOVE

我通过更简单的方法修改了版本号的修订版。