問題タブ [system.io.directory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 検索パターンに拡張子の 3 文字が含まれている場合の .NET の Directory.GetFiles() の奇妙な機能
最近、Microsoft の奇妙な機能に出くわしました。
フォルダーc:\tmp123
に 3 つのファイルが含まれているとします。
1.txt
2.txtx
3.txtxt
Directory.GetFiles(@"C:\tmp123", "*.txt")
a)返品された 3 つのアイテムでの利回りの呼び出し。
b)Directory.GetFiles(@"C:\tmp123", "*.txtx")
返品された 1 つのアイテムでの利回りの呼び出し。
Microsoft によれば、これは予想される動作です ( MSDNの注を参照)。
私の質問は次のとおりです。
Microsoft はなぜ、このような奇妙な機能を搭載することにしたのでしょうか?
どうすればこの問題を克服できますか? つまり、内線番号のみを返し、 などを返さない検索
パターンを作成するにはどうすればよいですか?*.txt
*.txtx
*.txtstarngefunctionality
c# - C#を介したプライベートキューのMSMQアクセス許可の更新
本番システムでは、いくつかのプライベートMSMQキューを使用しています。実装してから、キューを使用していくつかのものを更新し、更新されたコードで動作するようにそれらを再作成する必要がありました。これらの更新を必要とするマシンは200台以上あるので、この更新を行うためにSMS経由でプッシュされるプログラムに取り組んでいます。
私が気付いているのは、プログラムを実行して更新を実行できるのは、その特定のマシンにプライベートキューを最初に設定した人だけだということです。マシンの数が多いため、これらのキューを設定する複数の管理者がいました。
すべての従業員がまだここで働いているわけではないので、これは私[私のプログラム]に問題を引き起こしています。パーミッションは、プログラムが必要なものすべてを更新することを許可していません。私はグーグルで検索し、このリンクhttp://social.msdn.microsoft.com/Forums/hu-HU/msmq/thread/36a3d910-d533-4af3-86dc-498d00c68fefを見つけました。これは、次のファイルを変更してアクセス許可を更新する方法を示しています。キューごとに作成されます。素晴らしい!そのパスに手動で移動して更新を行うと機能します。今、私はSMSプッシュを介してプログラムでそれをやりたいです。
プログラムからこれを実行しようとすると、ディレクトリが「C:\ Windows \ System32 \ msmq \ storage\lqs」に存在しないというエラーが返されます。は?そのパスを[スタート]->[ファイル名を指定して実行]に入力すると、フォルダーが正常に表示されます。さて、私のコードのif(Directory.Exists(path))部分を壊すと、間違いなくfalseが返されます。System32以外のすべてのフォルダーを削除すると、Directory.Exstsは正常に機能します。
そのmsmqフォルダが存在するかどうかをプログラムが判断できないのはなぜですか?「管理者として実行」しようとしましたが、それでもfalseが返されます。そのチェックを機能させるには何をする必要がありますか?
ありがとう
編集:これは本当に奇妙です。パス(ファイルまたはディレクトリ)を取り込んだり、テキストを検索したり、テキストを置き換えたりする、私が書いたFindAndReplace APIがあります。FindAndReplaceGUIラッパーからそのプログラムを実行すると、それはうまく機能します。しかし、更新プログラムからこのAPIを呼び出すと、ディレクトリが存在しないと表示されます。これは本当に紛らわしいです。(MSMQタグは私の質問とは何の関係もないので、おそらく削除する必要があります...)
c# - フォルダを除くc#Directory.GetDirectories
「c:\ Users」のウィンドウ内のユーザーフォルダーのリストを反復処理しようとしていますが、Microsoftの組み込みユーザーフォルダーを除外しています。以下は、この偉業を達成するために使用しているコードセグメントですが、何らかの理由で意図したとおりに機能していません。
なぜこれが機能しないのかわかりませんが、誰かが私にこれについての洞察を提供できますか?
c# - DataTable のファイル名 - 最初の列
ループを使用せずにFileNames
inのリストを取得する方法はありますか?DataTable
foreach
string - このコードが値を 2 回返すのはなぜですか?
ファイルをコピーするコードを作成し、コピーしたフォルダーのパスを返す必要がありますが、値を2回返します!?
また、MessageBox を 2 回表示し、SaveData も 2 回実行します!?
なぜこれが起こるのですか??
このコードはここから呼び出されます:
c# - Directory.EnumerateFiles() よりも Directory.GetFiles() を使用する理由はありますか?
Directory.GetFiles
ifDirectory.EnumerateFiles
を使用して同じことを行う理由がわかりません。見つかったディレクトリのリスト全体が返される前でも、リストを列挙できます。
Directory.EnumerateFiles と Directory.GetFiles の違いは何ですか?
なぜ、それEnumerateFiles
が利用可能になったので、使用する必要があるのでしょうGetFiles
か?