无法重命名文件(系统找不到指定的文件(代码:2))

Posted

技术标签:

【中文标题】无法重命名文件(系统找不到指定的文件(代码:2))【英文标题】:Can not rename file (The system cannot find the file specified (code: 2)) 【发布时间】:2021-07-02 03:11:36 【问题描述】:

我正在尝试编写重命名目录 (C:\BA\scrapers) 中文件的代码。在 cmd 中,系统会提示您输入要重命名的文件($filePointer),然后提示您输入要重命名的文件名($newFileName)。

我收到以下错误:系统找不到指定的文件(代码:2)

function renameFile()
    $filePointer = rtrim(fgets(STDIN));
    echo "\nEnter new file name: ";
    $newFileName = rtrim(fgets(STDIN));
    if(!rename($filePointer, $newFileName))
      echo ("$filePointer cannot be renamed due to an error");
    
    else 
      rename($filePointer, $newFileName);
    

我已经尝试指定要重命名的目录,但是我没有设法让它工作。我是初学者,所以请放轻松。

【问题讨论】:

【参考方案1】:

您正在重命名文件两次。在您将其重命名后

if(!rename($filePointer, $newFileName))

重命名显然不存在

else 
  rename($filePointer, $newFileName);

删除else

【讨论】:

【参考方案2】:

你必须写这样的东西才能让它工作。

<?php
function renameFile()
    
    $myPath="C:\\BA\\scrapers\\";
    echo "\nEnter old file name: ";
    $filePointer =$myPath . rtrim(fgets(STDIN));
    echo "\nEnter new file name: ";
    $newFileName = $myPath .rtrim(fgets(STDIN));
    if(!rename($filePointer, $newFileName))
      echo ("$filePointer cannot be renamed due to an error");
    
    else 
      echo "Successfully renamed";
    

?>

【讨论】:

以上是关于无法重命名文件(系统找不到指定的文件(代码:2))的主要内容,如果未能解决你的问题,请参考以下文章

Win10不能重命名文件夹,老提示找不到指定路径怎么办?

vbs拷贝指定文件并重命名

怎样用asp实现,下载指定网址文件,并重命名后保存到本地服务器上?

apt无法重命名文件

文件夹为啥无法重命名?

用vs编译C++文件时提示无法启动程序.系统找不到指定文件