1. ホーム
  2. スクリプト・コラム
  3. DOS/BAT

Filemanのファイル名をフォームの対応する名前に一括インポートする

2022-01-25 23:34:28

バッチ処理を使用して、写真ファイルから表1の対応する名前に写真名をインポートする

方法1

/*&cls
@echo off
dir /b "photo \*.jpg"|cscript -nologo -e:jscript "%~f0"
pause & exit/b
*/

var jpglist = '';
while(!WScript.StdIn.AtEndOfStream){
  jpglist += WScript.StdIn.ReadLine()+'\r';
}
var fd = new ActiveXObject("Scripting.FileSystemObject").GetFolder(". ").Path
var objExcel = new ActiveXObject("Excel.Application");
var objBook = objExcel.Workbooks.open(fd+'\\1.xls');
objBook.worksheets(1).activate;
var objSheet = objBook.activeSheet;
var cnt = objSheet.usedrange.rows.count;
for(var i = 1; i<=cnt; i++) {
  var A1 = objSheet.Cells(i, 1).value;
  var re = new RegExp("[^\\r]*? "+A1+"[^\\r]*? \\\.jpg","ig");
  var m = jpglist.match(re);
  if(m)objSheet.Cells(i, 2).value = m[0];
}
objBook.SaveAs(fd+'\\2.xls');
objBook.Close();
objExcel.Quit();



方法2(もう少し簡略化したもの)。

@echo off
>$ dir /b "photo\*.jpg"
(for /f "tokens=1 delims=, " %%a in (1.csv) do (
  set /p"=%%a,"
  findstr "%%a" $||echo;
))<nul>2.csv
del $
pause