0

環境変数 "%appdata% There is some errors in this code that I need help with .... コメントされたエラーのコードを確認してください。

まだ %appdata% を使用しているが、他の解決策はありますか?

これはコードです:

    private void readfiles()
    {
        String startfolder = Environment.ExpandEnvironmentVariables("%appdata%") + "\\Microsoft\\Windows\\Start Menu\\Programs\\Startup";
        foldertoread(startfolder);
    }

    private void foldertoread(string folderName)
    {
        FileInfo[] Files = folderName.GetFiles("*.txt"); // HERE is one error "Getfiles"
        foreach (var file in Directory.GetFiles(folderName))
        {
            startupinfo.Items.Add(file.Name); // here is another error "Name"

        }
    }
4

3 に答える 3

2

この行はfolderName文字列であるため機能しません (GetFilesメソッドがありません):

FileInfo[] Files = folderName.GetFiles("*.txt");

file変数がstringファイル名を含むため、2 番目のエラーが発生しています。を呼び出す必要はありませんfile.Name。次のことを試してください。

startupinfo.Items.Add(file);
于 2013-04-10T19:31:16.463 に答える
0

次の行は必要ないと思います。

FileInfo[] Files = folderName.GetFiles("*.txt");

foreachループは必要なものを生成します。第二に、file変数は文字列であるため、以下を呼び出すのではなく:

startupinfo.Items.Add(file.Name);

...代わりに呼び出します:

startupinfo.Items.Add(file);

最後に、ループの var タイプの代わりに文字列を使用して、ファイル タイプ フィルタを指定できます。

foreach (string fileName in Directory.GetFiles(folderName, "*.txt"))
于 2013-04-10T19:34:02.230 に答える
0

オブジェクトにはメソッドstringがありませんGetFiles()。これを試して:

string startfolder = Environment.GetFolderPath(Environment.SpecialFolder.Startup);

string[] files = Directory.GetFiles(startfolder, "*.txt");

foreach (string file in files)
{
   startupinfo.Items.Add(Path.GetFileNameWithoutExtension(file));
}

Path.GetFileNameWithoutExtension(file)フルパスではなくファイル名のみを返します。

于 2013-04-10T19:35:44.053 に答える