問題タブ [fileinfo]
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.
c# - C# の非 ASCII 文字と FileInfo を含むファイル パス
多かれ少なかれ次のような文字列を取得します。
それを使用して FileInfo を作成しますが、その存在を確認すると false が返されます。
パスの名前を手動で変更した場合
デバッグ時に、bleh が内部にある blah が存在することを確認すると、file.Exists が true を返し始めます。したがって、問題は非ASCII文字にあると思います。
実際の文字列は私のプログラムによって構築されます。1 つの部分はアプリケーションの AppDomain から取得されます。これは "á" を含む部分であり、もう 1 つの部分はある意味でユーザーから取得されます。両方の部分は Path.Combine によってまとめられます。結果の文字列の有効性を 2 つの方法で確認しました。パスを含む、プログラムが生成したエラーからそれをエクスプローラーにコピーすると、ファイルが正常に開きます。デバッガーでその文字列を見ると、正しくエスケープされているように見えます。\ は \ と書かれています。「á」は、デバッガーによって文字どおりに出力されます。
非ASCII文字が含まれていても有効なパスになるように、文字列を処理するにはどうすればよいですか?
c# - C#:インストールされているスクリーンセーバーの名前を取得する
基本的に、Windowsのスクリーンセーバーダイアログに表示されるのと同じリストを、各スクリーンセーバーの名前で表示できるようにしたいと思います。しかし、私が遭遇した問題は、ダイアログのドロップダウンリストに表示される名前が、ファイル名、埋め込みファイル情報、レジストリ内の何かなどに対応していないように見えることです。
たとえば、3DFlowerBoxスクリーンセーバーにはDirect3DFlowerBoxのファイル記述があります。そして、「3DFlowerBox」だけはどこにも見つかりません。
この情報はどこに保存されますか?そして、どうすればそれを取得できますか。
c# - DirectoryInfo、FileInfo、および非常に長いパス
非常に長いパスを持つ DirectoryInfo、FileInfo を操作しようとしています。
- \\?\c:\long パスを使用してみます (fileInfo と DirectoryInfo で不正な文字を取得しました)
- file://c:/long パスを使用してみます (サポートされていない uri を取得しました)
~ をパスなどで使用できますか?
この投稿を読みましたが、API を呼び出す別の方法を使用したいと思います。それは他の解決策ですか?
使用する Microsoft の記事があります \\? ファイル パスリンク テキスト内
問題は、非常に長いパス、DirectoryInfo、および 256 文字よりも長いパスの FileInfo をどのように処理できるかです。
c# - .NETFileInfo.LastWriteTimeとFileInfo.LastAccessTimeが間違っています
呼び出し中FileInfo(path).LastAccessTime
またはFileInfo(path).LastWriteTime
書き込み中のファイルを呼び出すと、最後に書き込まれた時刻(つまり現在)ではなく、ファイルが作成された時刻が返されます。
この情報を取得する方法はありますか?
編集:これまでのすべての応答に。私は試しRefresh()
ていませんでしたが、それもしません。ファイルの書き込みが開始された時刻が返されます。同じことが静的メソッドにも当てはまり、の新しいインスタンスを作成しますFileInfo
。
Codymanixに答えがあるかもしれませんが、私は(Windows 7を使用して)Windows Serverを実行しておらず、設定をテストする場所がわかりません。
編集2:この関数が機能していないように見えるのは誰も面白いとは思いませんか?
asp.net-mvc - ASP.NET MVC がビューの最終更新日/FileInfo を取得する
職場のアプリケーションのすべてのページに最終更新日を含める必要があります。以前は、現在の .aspx ページの最終更新日を返す WebForms マスター ページの下部に <%= LastModified %> への参照を含めることでこれを行っていました。私のコードは、関連付けられた .aspx.cs ファイルをチェックし、最終変更日を比較して、最新の日付を返します。
MVC ビューの FileInfo を読み取れるかどうか知っている人はいますか? できればマスターページに入れたいです。
すべてが配線され、準備が整ったベースコントローラーがあります。私が知る必要があるのは、現在のビューの FileInfo にアクセスする方法だけです。
python - Pythonを使用して、ファイルシステムの検索に基づいてファイル情報オブジェクトの配列を取得するにはどうすればよいですか?
find
現在、次のようにコマンドを実行するbashスクリプトがあります。
これにより、過去7日間にシステムに追加されたテレビ番組のリストが取得されます。次に、最新のテレビ番組にアクセスできるように、いくつかのシンボリックリンクを作成します。
私はこれをPythonで再コーディングしようとしていますが、Googleを使用するための答えを見つけることができるように思われるいくつかの質問があります(おそらく私は正しいものを探していません)。これを要約する最良の方法は、質問をすることだと思います。
ファイルシステムで検索を実行するには(呼び出す必要がfind
ありますか?)、ファイル情報オブジェクトの配列(変更日、ファイル名などを含む)を取得して、日付などに基づいて並べ替えることができます。 ?
scripting - PhotoshopCS4のスクリプトからファイル情報を設定する方法
Photoshop CS4スクリプトを開発していて、スクリプト内から開いているドキュメントにいくつかのファイル情報プロパティを設定したいと思います。
つまり、スクリプト言語(Javascript)を使用して、[ファイル]-> [ファイル情報]を選択し、いくつかのプロパティを編集するのと同じことをしたいと思います。
wcf - Silverlight の非同期呼び出しから StreamReader を WCF サービスに渡す
Silverlight フロントエンドから csv ファイルのレコードを DB にインポートしたいと考えています。DB操作を実行するためにWCFサービスを使用しています。ファイル パス全体 (ハード コード) を渡すと、DB にレコードを追加できますが、Silverlight の OpenFileDialog では (セキュリティ上の理由により) ファイル パスを取得できないため、WCF サービスを使用して渡してみました。 FileInfo プロパティまたは StreamReader のいずれかを取得してから、操作を実行します。しかし、それは私に例外を与えています。私は次のコードを持っています -
1) StreamReader Page.xaml.vb ファイルを渡す
'Service1.svc.vb ファイル
例外が発生しました - リモート サーバーがエラーを返しました: NotFound (EndInvoke メソッド内)
2) FileInfo を渡す
Page.xaml.vb ファイル
Service1.svc.vb ファイル
BeginInvoke メソッドで例外が発生しました - メソッドにアクセスしようとして失敗しました: System.IO.FileSystemInfo.get_Attributes()
Silverlightを使用してcsvからDBプログラムにレコードをインポートするための解決策またはより良いアプローチを提案/提案してください。
ありがとう!
c# - C#でファイルのコレクションを別のコレクションと比較するにはどうすればよいですか?
私はちょうどC#を学んでいて(約2日間それをいじっています)、学習目的で、ファイルを同期するために(通常はネットワークを介して)VB6で作成した古いアプリを再構築することにしました。
VB 6でコードを書いたとき、それはほぼ次のように機能しました。
- 作成する
Scripting.FileSystemObject
- ソースと宛先のディレクトリオブジェクトを作成します
- ソースと宛先のファイルリストオブジェクトを作成します
- ソースオブジェクトを反復処理し、それが宛先に存在するかどうかを確認します
- そうでない場合は、作成します
- もしそうなら、ソースバージョンが新しい/大きいかどうかを確認し、そうである場合は、他のバージョンを上書きします
これまでのところ、これは私が持っているものです:
FileInfoまたはDirectoryInfoオブジェクトを使用して「Exists」プロパティでチェックを行うことを推奨しているように見える例を読みましたが、ファイルシステムへのライブチェックではなく、既存のファイルのコレクション/リストを検索する方法を特に探していますファイルごとに、ネットワークを介してこれを実行し、常に数千ファイルのディレクトリに戻るのは遅いです。
前もって感謝します。