ノード ファイル モジュールで fs.renameSync を使用してファイル名を変更すると、次のエラーが報告されますno such file or directory, rename 'file4.txt' -> 'lastFile.txt'
。
Run Code メソッドを使用してコードを実行したところ、エラーが報告されました。このエラーは、そのようなファイルやディレクトリは存在しないが、ファイルやディレクトリは存在することを意味します。ディレクトリが間違っているだけである可能性があります。状況の分析と組み合わせて、次の 3 つの解決策を見つけます。
// 1. 导入模块
const path = require('path');
const fs = require('fs');
// 2. 修改文件
fs.renameSync('file4.txt','lastFile.txt')
// 修改语法:fs.rename('oldFile','newFile') 嗯,然后就导致上图错误。
解決策 1:
コマンドを使用して解決します。右クリックしてファイル エクスプローラーに表示します。コマンドを入力します:node 08-ファイル操作の一般的な方法.js も解決できます。
解決策 2:
これはパスを完成させる方法です。問題は解決しましたが、パスが肥大化しており、エスケープする必要があるため、あまり良い方法ではありません。
fs.renameSync('D:\\CODER\\04-node\\01-fr文件模块\\file4.txt',"D:\\CODER\\04-node\\01-fr文件模块\\lastFile.txt")
解決策 3:
この問題を解決するために文字列のスプライシングを使用することを考えましたが、oldPath は文字列型である必要があるというエラーが報告されます。
fs.renameSync(__dirname/'lastFile.txt',__dirname/'file4.txt')
その後、ES6 の文字列の結合方法を思い出しましたが、これは実際に解決できます。
fs.renameSync(`${
__dirname}/lastFile.txt`,`${
__dirname}/file4.txt`)