Command line 创建批处理文件以使用用户输入重命名和移动文件
我对DOS命令(主要是简单的move/copy/del/rename命令)的了解非常有限,我希望在创建执行以下步骤的批处理文件时得到一些帮助:Command line 创建批处理文件以使用用户输入重命名和移动文件,command-line,batch-file,command-line-arguments,Command Line,Batch File,Command Line Arguments,我对DOS命令(主要是简单的move/copy/del/rename命令)的了解非常有限,我希望在创建执行以下步骤的批处理文件时得到一些帮助: 提示用户在输入框中输入版本号 验证用户的输入,以确保输入的主要版本、连字符、次要版本(例如5-10) 搜索运行批处理文件的当前文件夹,并通过向该文件添加版本号和硬编码说明来重命名所有PDF 例如,EMDM.pdf的原始文件应重命名为EMDM_5-10_Software Operations Manual.pdf(注意版本号前后的下划线以及说明文本中的
@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
我用一种更简单的方法修改了版本号的修订版。你能告诉我你已经有了什么吗?这就是我目前拥有的:步骤1设置/p VersionNumber=“输入版本号”步骤2不知道怎么做??步骤3重命名.pdf“%VersionNumber%\u软件操作手册.pdf”\u这无法正常工作,因为它将我的文件从EMDF.pdf重命名为EMDM.pdf\u VersionNumber\u Software Operations Manual.pdf步骤3 MOVE\\webserver\downloads\EMDM*.pdf\\webserver\downloads\supersed步骤5 COPY*.pdf\\webserver\downloads步骤6 DEL*.PDFIm通过附加版本和说明重命名文件基本上存在问题(它将文件扩展名放入其中两次),并验证版本号的格式是否正确。Aacini,非常感谢,这非常有效。在步骤5中,是否有任何方法使用VersionNumber输入的前2个字符并将其附加到要移动的文件中?例如,如果版本号为5-14,只移动“EMDM_5-*软件操作手册.pdf”?如果您指的是“主要编号”而不是“版本号的前2个字符”:移动“EMDM_%Major%-*软件操作手册.pdf”