2017-08-17 16 views
1

Node.jsで "My Documents"のサブディレクトリを開くことができない理由がわかりません。ファイルエクスプローラでサブディレクトリを開くことができませんか? - Node.js

私の現在のコード:

function fileExplorer() { 
    var spawn = require('child_process').spawn, 
    child = spawn('C:\\Windows\\explorer.exe', 
    ["%userprofile%\\documents"]); 
    } 

は、ユーザーの「マイドキュメント」フォルダを起動するために、完全に正常に動作します。しかし、私は「マイドキュメント」の中のディレクトリを開きたい場合などの「マイドキュメント/余分なもの」と言っ以下では動作しません:

function fileExplorer() { 
    var spawn = require('child_process').spawn, 
    child = spawn('C:\\Windows\\explorer.exe', 
    ["%userprofile%\\documents\\extra stuff"]); 
    } 

私は何をしないのですか?私が尋ねていることが何か間違っている場合は私に許してください。私はデザイン指向の脳を持っており、HTML、CSS、およびいくつかのJavascriptに精通しています。

答えて

0

%USERPROFILE%環境変数がprocess.env.USERPROFILEの下で、あなたのコードからアクセス可能であるので、あなたはpath.join(process.env.USERPROFILE, 'Documents/extra stuff')

+0

でこの作業を行うことができますねえ、あなたはこの上で起草気でしょうか?コーディングにはあまり熟練していませんが、まだ学習曲線を進んでいます。 –

+0

node.jsには、プログラムのどこでも参照できる特定のグローバル変数があります。これらのうちの1つは 'process.env'と呼ばれ、プログラムの実行開始時に定義されたすべての環境変数を保持します。 'var path = require( 'path')'をインポートすると、一連のシステムパスユーティリティを持つパスモジュールが得られます。 'path.join(process.env.USERPROFILE、 '/ Documents/extra stuff')'を呼び出すと、両方のパスが結合され、動作していないパスの代わりに使用できるパスが作成されます。 – ChemicalRocketeer

+0

'console.log(process.env.USERPROFILE)'を実行しようとすると、事態がより明確になる可能性があります – ChemicalRocketeer

関連する問題