반응형
node.js를 사용하여 파일 이름 바꾸기
나는 JS를 사용하는 데 꽤 익숙하므로 최대한 구체적으로 노력할 것입니다. :)
나는 다른 국가 이름 가진 260 .PNG 파일과 폴더를 가지고 :
Afghanistan.png,Albania.png,Algeria.png, 등다음과 같이 각 국가의 모든 ISO 코드가 포함 된 코드가 포함 된 .json 파일이 있습니다.
{
"AF": "아프가니스탄",
"AL": "알바니아",
"DZ": "알제리",
...
}
- .png 파일의 이름을 소문자로 된 ISO 이름으로 바꾸고 싶습니다. 즉 , 모든
.png이미지가 포함 된 폴더 에 ,, 등을 입력하고 싶습니다 .af.pngal.pngdz.png
나는 node.js로 이것을 수행하는 방법을 스스로 연구하려고 노력했지만 여기서 조금 길을 잃었고 몇 가지 단서를 많이 고맙게 생각합니다.
미리 감사드립니다!
이를 위해 http://nodejs.org/api/fs.html 을 사용해야 fs합니다.
특히 fs.rename()기능 :
var fs = require('fs');
fs.rename('/path/to/Afghanistan.png', '/path/to/AF.png', function(err) {
if ( err ) console.log('ERROR: ' + err);
});
새로 읽은 JSON 객체의 키와 값에 대한 루프에 넣으면 일괄 이름 바꾸기 스크립트가 있습니다.
fs.readFile('/path/to/countries.json', function(error, data) {
if (error) {
console.log(error);
return;
}
var obj = JSON.parse(data);
for(var p in obj) {
fs.rename('/path/to/' + obj[p] + '.png', '/path/to/' + p + '.png', function(err) {
if ( err ) console.log('ERROR: ' + err);
});
}
});
(여기서는 .json파일이 신뢰할 수 있고 파일 이름에 직접 키와 값을 사용하는 것이 안전 하다고 가정합니다 . 그렇지 않은 경우 해당 파일을 올바르게 이스케이프해야합니다!)
- fs.readdir (경로, 콜백)
- fs.rename (이전, 신규, 콜백)
통과 http://nodejs.org/api/fs.html
한 가지 중요한 것은 동기화 기능도 사용할 수 있다는 것입니다. (C 프로그램처럼 작동합니다)
Linux / unix OS의 경우 셸 구문을 사용할 수 있습니다.
const shell = require('child_process').execSync ;
const currentPath= `/path/to/name.png`;
const newPath= `/path/to/another_name.png`;
shell(`mv ${currentPath} ${newPath}`);
그게 다야!
동기 이름 변경의 경우 fs.renameSync를 사용 하십시오.
fs.renameSync('/path/to/Afghanistan.png', '/path/to/AF.png');
참고 URL : https://stackoverflow.com/questions/22504566/renaming-files-using-node-js
반응형
'program story' 카테고리의 다른 글
| 서명 된 응용 프로그램을 설치할 때 Win8에서 스마트 화면을 전달하는 방법은 무엇입니까? (0) | 2020.10.24 |
|---|---|
| 디버그 모드에서 proguard를 사용할 수 있습니까? (0) | 2020.10.24 |
| nginx : [emerg] "server"지시문은 여기에서 허용되지 않습니다. (0) | 2020.10.24 |
| C #의 비트 필드 (0) | 2020.10.24 |
| Eclipse 용 선호하는 Ruby 플러그인? (0) | 2020.10.24 |