File 如何重命名文件并将其移动到新目录

File 如何重命名文件并将其移动到新目录,file,batch-file,rename,move,File,Batch File,Rename,Move,我想将上传到另一台服务器的文件从extension.txt重命名为.txt_mvd,并移动到另一个目录,以便在Windows批处理模式下进行存档。有人可以帮助您了解windows批处理脚本应该是什么吗 谢谢。这是代码 FOR /R C:\your_folder %%d IN (*.txt) DO ( ren %%d %%~nd.txt_mvd ) %%d是完整的文件名+路径 %%~n只返回不带扩展名的文件名 使用/R参数,它将扫描文件夹和子文件夹 更新1 以下代码应按要求工作

我想将上传到另一台服务器的文件从extension.txt重命名为.txt_mvd,并移动到另一个目录,以便在Windows批处理模式下进行存档。有人可以帮助您了解windows批处理脚本应该是什么吗

谢谢。

这是代码

FOR  /R C:\your_folder %%d  IN  (*.txt)  DO  (
    ren %%d %%~nd.txt_mvd
)
%%d是完整的文件名+路径
%%~n只返回不带扩展名的文件名
使用/R参数,它将扫描文件夹和子文件夹

更新1

以下代码应按要求工作。
我添加了一个IF,可以忽略子文件夹

FOR  /R E:\your_folder\ %%d  IN  (*.*)  DO  (
    IF %%~dpd==E:\your_folder\ (
        ren %%d %%~nd.txt_mvd
    )
)
更新2

固定代码

FOR  /R E:\your_folder\ %%d  IN  (*.txt)  DO  (
    IF %%~dpd==E:\your_folder\ (
        ren %%d %%~nd.txt_mvd
    )
)
更新3
下面是脚本的更通用和参数化版本。
根据需要更改起始参数(前4行代码)。
此脚本首先重命名您在起始文件夹中选择的文件(第一个参数)(第三个参数),将扩展名更改为新文件(第二个参数),然后将重命名后的文件移动到您选择的文件夹中(第四个参数)

更改参数时,不要添加任何空格。
因此,不要像这样更改参数:

set Folder_that_contain_your_files = c:\myFolder      <--- WRONG, WON'T WORK, there are unneeded space

谢谢麦克斯的密码。我可以重命名这些文件,但它将当前和所有子目录中的所有ext.txt文件重命名为.txt_mvd文件。我只想更改进入当前目录的新文件,更改扩展名,然后将其移动到归档目录。这能改变吗?再次感谢。对不起,代码不正确。它将其他文件(包括.exe)的扩展名更改为.txt\u mvd。我假设在您的代码中,E:\your\u folder\是我的当前文件夹?我在哪里提到要移动更改的扩展名文件的文件夹?你能解释一下逻辑吗?我需要把当前目录放在哪里?我需要把存档目录放在哪里?谢谢大家!@理查德:对不起,有个窃听器。在这段代码中,我已经修复了I Max,哪个是我当前的目录,哪个应该是移动重命名文件的目录?谢谢。@Richard:我刚刚用更通用的代码更新了解决方案,这里有用于起始文件夹、目标文件夹等的显式参数。我已经尝试使用Windows powershell。那对你来说应该很容易。
set Folder_that_contain_your_files = c:\myFolder      <--- WRONG, WON'T WORK, there are unneeded space
set Folder_that_contain_your_files=c:\myFolder      <--- OK, THIS WILL WORK, there are no extra spaces
set Extension_of_file_you_want_to_renamne_and_move=txt
set New_extension_of_moved_files=txt_mvd

set Folder_that_contain_your_files=C:\Your_starting_folder\
set Folder_where_to_move_your_files=C:\Your_destnation_folder\

FOR  /R "%Folder_that_contain_your_files%" %%d  IN  (*.%Extension_of_file_you_want_to_renamne_and_move%)  DO  (
    IF "%%~dpd"=="%Folder_that_contain_your_files%" (
    IF %%~xd==.%Extension_of_file_you_want_to_renamne_and_move% (
        ren "%%~d" "%%~nd.%New_extension_of_moved_files%"
        move "%%~dpnd.%New_extension_of_moved_files%" "%Folder_where_to_move_your_files%"
        )
    )
)