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
Windows 用于使用新名称输入移动和重命名文件的命令行_Windows_Batch File_Cmd_Rename_Move - Fatal编程技术网

Windows 用于使用新名称输入移动和重命名文件的命令行

Windows 用于使用新名称输入移动和重命名文件的命令行,windows,batch-file,cmd,rename,move,Windows,Batch File,Cmd,Rename,Move,我正在尝试使用Windows命令行创建一个批处理文件,该命令行将重命名一个文件并将其移动到另一个位置,而只需要我输入文件的新名称。我见过一些不同的方法,但没有一种能同时适用于我的方法 这是我使用的代码,收到了一条错误消息 @echo off set /p newname=New File Name: ren /Y C:\Program Files\ffmpeg\bin\file.mp4 %newname%.mp4 move %newname%.mp4 C:\Users\Test\Videos

我正在尝试使用Windows命令行创建一个批处理文件,该命令行将重命名一个文件并将其移动到另一个位置,而只需要我输入文件的新名称。我见过一些不同的方法,但没有一种能同时适用于我的方法

这是我使用的代码,收到了一条错误消息

@echo off
set /p newname=New File Name: 
ren /Y C:\Program Files\ffmpeg\bin\file.mp4 %newname%.mp4
move %newname%.mp4 C:\Users\Test\Videos
我也试过这个,但运气不好

@echo off
set /p "newname=New File Name: "
move /Y file.mp4 C:\Users\Test\Videos\%newname%.mp4

ren
没有
/Y
开关,请尝试运行

@echo off
set /p newname=New File Name: 
ren C:\Program Files\ffmpeg\bin\file.mp4 %newname%.mp4
move %newname%.mp4 C:\Users\Test\Videos
还可以尝试引用您的文件路径,因为它有如下空格

ren /Y "C:\Program Files\ffmpeg\bin\file.mp4" "%newname%.mp4"

除非您的当前目录位于该文件夹中,否则
move
命令将不起作用。首先使用完全量化的文件路径或
cd
到文件夹

您是否以管理员身份运行?AFAIK编辑
程序文件
文件夹中的文件需要管理员访问。不过我可能错了。您收到的具体错误消息是什么?是的,我以管理员身份运行,收到的错误是“命令的语法不正确”。Iirc
ren
没有
/Y
开关,请尝试在没有开关的情况下运行第一个代码段。另外,请尝试引用文件路径,因为它包含类似于
ren/Y“C:\Program Files\ffmpeg\bin\file.mp4”“%newname%.mp4”“
”的空格。除非您的当前目录位于该文件夹中,否则
move
命令将不起作用。首先使用完全量化的文件路径或
cd
文件夹感谢它最终起作用的帮助。去掉
/Y
并将文件路径用引号引起来就行了。@MurkN,请用引号,这样你就知道有人回答你的问题后该怎么办了。在第一个示例中,请用双引号引上你的路径。i、 e
ren“C:\Program Files\ffmpeg\bin\file.mp4”“%newname%.mp4”“
等。。