File [批处理]如何复制子文件夹中新复制的文件并为其添加后缀?
这是我目前掌握的代码:File [批处理]如何复制子文件夹中新复制的文件并为其添加后缀?,file,batch-file,random,input,suffix,File,Batch File,Random,Input,Suffix,这是我目前掌握的代码: @echo off set /P suffix=Enter name to add: @echo off setlocal EnableDelayedExpansion PUSHD . cd "%%d" set n=0 for %%f in (*.*) do ( set /A n+=1 set "file[!n!]=%%f" ) set /A "rand=(n*%random%)/32768+1" c
@echo off
set /P suffix=Enter name to add:
@echo off
setlocal EnableDelayedExpansion
PUSHD .
cd "%%d"
set n=0
for %%f in (*.*) do (
set /A n+=1
set "file[!n!]=%%f"
)
set /A "rand=(n*%random%)/32768+1"
copy "!file[%rand%]!" "%suffix%"
POPD
进展:
我有获取用户输入、选择单个随机文件、复制并用新名称粘贴的功能
问题:
它不适用于子文件夹,用户输入不作为后缀添加,而是直接重命名整个文件
问题:
如何将用户输入作为后缀添加到新复制的文件中,同时保留文件名和文件类型
是否也可以将此功能应用于子文件夹?我投票将此问题作为离题题结束,因为这是一个程序规范,而不是解决方案,将添加我自己的代码,我到目前为止,下次你也可以你的问题与你的脚本的当前状态…编辑,以反映guidelines@user3470157第一个提示与您的问题无关,因为目前无法回答。阅读并详细解释命令
setlocal
和endlocal
的作用。当前目录也由setlocal
推送到堆栈上,并由endlocal
还原。因此,如果用命令endlocal
替换POPD
,则PUSHD.
是多余的。第二个@echo off
也是不必要的。