Javascriptではディレクトリ操作ができない。
JavaScriptはそもそもWebブラウザ上で起動して
HTMLから生成されたDOMツリーを書き換えて画面の変更を促すためだけの言語ですからね。
AjaxでHTTP通信飛ばせる時点で上出来だと思います。
それは嫌だ汎用スクリプト言語として動かしたいと、
わがまま言い始めた天才が作ったNode.jsがあります。
これはJavaScriptに、ファイル操作や自由なHTTP通信を行うモジュールをC++で作ってくっつけたものになります。
私は雑務やルーチンワークは全てNode.jsでスクリプト作ってやっつけています。
フレキシブルな作りにしたければYAMLファイル編集して対応出来るようにしています。
こういったスタイルでの作業をおすすめします。
候補として上がっている中では
PowerShellはImport-csvはあるものの、YAMLファイルが無いので個人的には微妙でしょうか。
VBAは言語としては何も悪いところはありませんが、
くっそ愚鈍なExcelを起動する所がスタート地点になりますし、
マクロの設定とかで他の環境じゃ動かん、Excelのバージョン上げたら死んだ
……という風におすすめ出来ないポイントだらけです。
個人的な作業改善のため、ツールを作りたいと考えています。
画面で必要な項目を入力して「実行」ボタンを押したら、完結できるようにしようとしています。
目的が1行目で、
自分ひとりで使うだけならGUIはやめたほうが良いです。
Webブラウザを使う技術で言えば
HTML、CSS、JSでまず画面作るという手間が時間の無駄です。
あくまでエンジニア以外のマウス操作しか出来ない一般人に向けたWebアプリです。
他の方法も同様です。
GUIの画面を作る手間は時間の無駄です。
バッチやPowerShellだと画面入力が難しい(見づらいい、入力しづらい)
使いづらいですよね。
これは何とか解決しなければなりません。
外部ファイルを読み込ませて対応するという考え方をオススメします。
フレキシブルなデータを作る場合の候補は下記の2つ
CSVは兎も角、TSVは聞き慣れない人もいるので軽く紹介します。
TSVファイルはカンマではなくタブでデータを区切ります。
TSVの良い点はクリップボード越しにExcel開いてベタッとペーストすると
セルや改行を考慮しながらデータを反映してくれるので、SIer時代には重宝していました。
個人的にはTSVの方がCSVよりもおすすめです。
CSV・TSVは秀丸エディタに専用のモードが用意されてます。
YAMLファイルはvscodeあたりを使っておけば良いんじゃないですかね?
【おまけ】 どうしてもExcelに反映させたい
VBAとの協働作業でしょうかね。
Excelのマクロには裏でコマンドプロンプトを立ち上げてコマンド入力をして文字列を受け取るという機能があります。
SIer時代にやっていた内容です。
- 実行用のExcelシートを作っておき、「データ取得」ボタン実行
- 新しいシートをテンプレートシートからコピー(VBAの機能で存在する)
- コマンドから外部ファイルを呼び出して実行
- コマンドの実行結果の文字列を持ち帰って新しいシートに結果を書き込む
- 新しいシートを確認して問題なければ「ファイル作成ボタン」を押す
- 新しいExcelファイルを生成して起動、そのExcelファイルに作ったシートを移動させてファイル保存
全て全自動とまではいきませんが、これに近い所までは行けました。
この中の「外部ファイルを呼び出して実行」の部分にPowershell、Node.js、Ruby、Python等のスクリプト言語を充てがえるので、
スクリプト言語で出来る前提で色々作っておく癖をつけると一生困らないと思いますよ。
【おまけ】 補足に向けた対応
ツールは誰でも使えるようなものを目指したいです。(ある程度の非プログラマでも使えること。)
運用ルールを決めるのは当然ですが、直感的にみて作業できることがベストです。
なのでIDEなど環境に依存するものは避けたいです。
これが入ると途端に大問題になります。
候補に上がっているWebサーバを立ち上げるというやり方してる言語は全部ゴミですね。
何故か?自分のパソコンのファイルを加工したいんですよね?
PHP立ち上げているサーバーのファイルが更新されても嬉しくないはずです。
そこを面倒見始めると自分が旗振って全自動All-in-one業務遂行パッケージを作りたいと言ってるんですか?みたいな大袈裟な話になって死にます。
私だったら上記の「どうしてもExcelに反映させたい」を利用して、
自分が使うときはスクリプトファイルでやっつけて、
どうしても他人に使わせるという段階でExcelを渡すという感じにします。
質問者さんの状況を鑑みればExcel+VBAが最適解になるんじゃないでしょうか?
色んな回答がぶら下がっているので比較しながら検討してみる事をオススメします。