Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File [批处理]如何复制子文件夹中新复制的文件并为其添加后缀?_File_Batch File_Random_Input_Suffix - Fatal编程技术网

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
也是不必要的。