sal*_*san 19 windows filesystems copy node.js
nodejs v14.17.0我尝试使用to复制字体%localappdata%\Microsoft\Windows\Fonts,当尝试提示时没有问题
copy /B "Haloha Free Trial.ttf" /V %localappdata%\Microsoft\Windows\Fonts\
1 file(s) copied.
Run Code Online (Sandbox Code Playgroud)
但是当尝试使用nodejs时,我遇到了这个问题
[Error: EPERM: operation not permitted, copyfile 'D:\dev\test\javascript\font\Haloha Free Trial.ttf' -> 'C:\Users\omen\AppData\Local\Microsoft\Windows\Fonts'] {
errno: -4048,
code: 'EPERM',
syscall: 'copyfile',
path: 'D:\\dev\\test\\javascript\\font\\Haloha Free Trial.ttf',
dest: 'C:\\Users\\omen\\AppData\\Local\\Microsoft\\Windows\\Fonts'
}
Run Code Online (Sandbox Code Playgroud)
这是我的代码
let options = process.argv.slice(2);
console.log(options[0]);
console.log(process.env.LOCALAPPDATA);
const locallAppdata = process.env.LOCALAPPDATA;
const fs = require('fs');
fs.copyFile( options[0], locallAppdata+'\\Microsoft\\Windows\\Fonts\\', (err) =>{
if(err) throw err;
console.log( argv[0] + " was copied ");
});
Run Code Online (Sandbox Code Playgroud)
怎么解决呢?
sal*_*san 11
根据官方文档fs.copyFile
在dest中,需要目标文件名,而不仅仅是目标目录。
fs.copyFile(src, dest[, mode], callback)
Run Code Online (Sandbox Code Playgroud)
在本例中,dest = 'locallAppdata+'\\Microsoft\\Windows\\Fonts\\' + options[0]
let dest = locallAppdata+'\\Microsoft\\Windows\\Fonts\\' + options[0];
let src = options[0];
fs.copyFile( src, dest, (err) =>{
if(err) throw err;
console.log( options[0] + " was copied ");
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15950 次 |
| 最近记录: |