問題タブ [filesystemobject]
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.
iis-7 - Windows Server 2008、IIS 7 での従来の ASP .CopyFile "Permission Denied" エラー
イントラネット Web サーバーを Windows Server 2000、IIS 4 環境から Windows Server 2008、IIS 7 環境にアップグレードしています。アップグレードの一環として、従来の ASP アプリケーションを新しい環境で動作するように変更しています。
ページの 1 つは、次のコマンドを使用して、Web サーバー上の同じディレクトリにある Word ファイル (.doc) にテンプレート ファイル (.dot) をコピーすることにより、新しい Word ファイルを作成しようとします。
注 - docRoot は絶対パスであり、仮想パスではありません。
宛先フォルダーは、次の完全なアクセス許可を持つように設定されています。
- みんな
- 管理者
- IUSR
- IWAM アカウント
それでも次のエラーが表示されます。
誰かがこれを見たことがあるかどうか、そして利用可能な回避策があるかどうか疑問に思っています. (デフォルトのアプリケーション ユーザーに自分のアクセス許可を使用するように設定しようとしましたが、それも機能しませんでした...)
vbscript - createobject scripting.filesystemobject IIS 7-vbscriptコードは、常にWebサイトフォルダーではなくC:\ Windows \ System32 \inetsrv\にファイルを保存しようとします
タイトルごと
createobject scripting.filesystemobject IIS 7-vbscriptコードは、常にWebサイトフォルダーではなくC:\ Windows \ System32 \inetsrv\にファイルを保存しようとしています。
もちろん、「許可が拒否されました」というエラーが表示されます
ファイルはWebサイトフォルダに保存されている必要があります。
どんな助けでも大歓迎です。
編集:vbscriptは、win7devマシンのIIS7で実行されているWebサイトのフォームから呼び出されています。この場合、パスを設定していませんが、「。」を試したところ、IISは、予期したとおりにWebサイトのルートフォルダーではなく、「inetsrv」パスも使用しようとしました。
dcom - DCOMCNFG で失われた FileSystemObject
FileSystemObject を使用したいのですが、DCOMCNFG で失われました。コマンド「regsvr32 scrrun.dll」で登録しました。
DCOMCNFG でそれを取得する他の方法はありますか?
vba - VBAのFileSystemObjectを使用して取得したファイル名の変更されたバージョンを比較する
MicrosoftScriptingRuntimeを参照してVBAを使用する。2つの異なるディレクトリのファイル名を比較して、同じファイルが両方のディレクトリにあるかどうかを確認しようとしています。ただし、完全に一致するものを探しているわけではありません。特定の種類のプレフィックスを削除したいので、たとえば、、、A-12234.pdf
および12234.pdf
はA_ 12234.pdf
互いに等しいと見なす必要があります。
stripPrefix()
ファイル名を他のファイルと比較できるバージョンに変更するために必要な文字列操作を実行する関数があるとします。前のケースでは、3つすべてstripPrefix()
が返さ12234.pdf
れます。次に、ディレクトリ内のファイル名を次のコードを使用してc:\dir1
比較できます。 c:\dir2
:
ここでの大きな問題:ループを繰り返すたびstripPrefix()
に同じファイル名を要求しています。各ファイル名の配列とストリップバージョンを作成することはできましたが、コレクションに数値インデックスがないため、それらをのコレクションと関連付けることができないようです。私が使ってみたので私は知っています:dir2
for..next file1
dir1Array
dir2Array
Files
dir1
dir2
Files
から「無効なプロシージャ呼び出しまたは引数」を取得しましたfolderObj.Files(c).name
。ループに入るときにカウンターをインクリメントし、カウンターをfor..next
使用して配列を参照し直すことができると思います。
しかし、それは本当に不格好なようです。このファイル名比較操作を処理するためのより良い方法はありますか?
string - VB6を使用してテキストファイルを文字列にロードする方法
VB6 を使用してテキスト ファイルを文字列にすばやく読み込むにはどうすればよいですか?
file - ファイルがファイルシステムオブジェクトではないのはいつですか?
シェルAPIを使用してFavoritesフォルダーを(再帰的に)列挙するコードがあります。この関数を使用して、GetAttributesOf
見つけた各オブジェクトの属性を取得します。
私は上に進むことは決してないので、私が遭遇するすべてのアイテムはファイルシステムオブジェクトになることを期待しています。これはおそらくすべてのサブディレクトリに当てはまるわけではありませんが、問題のサブディレクトリには当てはまると確信しています。
私の自信にもかかわらず、属性にが含まれていることを確認しますSFGAO_FILESYSTEM
。そうでない場合は、メッセージをログに記録してアイテムをスキップします。これは、自分の仕事ができる見込みがないためです。ロギングが表示されない、またはアイテムをスキップする必要がないことを期待していましたが、それが私がロールする方法であるため、とにかく検証を入れました。
数週間後、私の優秀なQAエンジニアは、私のプログラムが特定のアイテムに関して誤動作しているのを見て、その時間の前後に、そのアイテムにファイルシステムビットが設定されておらず、スキップしました。問題のアイテムは、信じるに足る理由があります。ファイルです。
私が最初にこの質問を書いたので、列挙内のいくつかのアイテムがファイルシステムアイテムではないと主張するケースを見てきました。トラブルは非常に短い時間続くようですが、半ダースものアイテムの旗を台無しにするのに十分な長さです。
ファイルがファイルシステムオブジェクトではないのはいつですか?
file - Scripting.FileSystemObject を使用して、まだ存在しないパスにファイルを作成します
JScript で Scripting.FileSystemObject を使用してテキスト ファイルを作成しようとしています。ファイル内のディレクトリがまだ存在しない場合、ファイルを作成する方法がわかりません。例えば:
いろいろ調べてみましたが、これに関するドキュメントが 1 か所にきちんとまとめられていないようです。たとえば、これについて説明している MSDN の記事がいくつかありますが、私が探している詳細は省略されています。
http://msdn.microsoft.com/en-us/library/aa711216(v=VS.71).aspx
http://msdn.microsoft.com/en-us/library/aa242706(v=VS.60).aspx
言い換えれば、私はこれをグーグルで検索するために最善を尽くしていますが、探しているものが見つかりません. これが違いを生むとは思いません。しかし、私は TestComplete 8 内でこのスクリプトを書いています。しかし、すべての集中的な目的のために、IE の html ファイル内のスクリプト タグで実行していると想定できます。
file-io - ASP の DeleteFile メソッドを使用してファイルを削除できない
ユーザーがリンクをクリックして削除するたびに、画像ファイルを削除しようとしています。エラーは発生せず、エラー番号はゼロです。ただし、ファイルは削除されません。写真ファイルを保存できますが、何らかの理由で削除できません。これが私のコードです:
response.write がヒットすると、実際のファイル パスが取得されます。(「C:/web/images」など) ファイル名まで。大文字と小文字はすべて正しいなどです。繰り返しますが、「on error resume next」を実行してエラー番号と文字列を書き出すと、エラーはまったく発生しません。
呼び出し:
エラーが発生します:
javascript - 保存ファイルをコピーするFSO。サブルーチンを使用したVBScript/ASPページ
FSO = Server.CreateObject( "Scripting.FileSystemObject")を使用して、「csImageFile」と呼ばれるASPユーティリティを使用してファイルをコピー/保存しようとしています。
現在、私が持っているFSOコードは別の.aspページにあります。これは、ユーザーがオプションを選択したときにページから呼び出されます(value = "xxx.asp ..."を使用してコードページを呼び出します)。これは正常に機能します。
問題は、FSOコードページのresponse.redirectedが呼び出し元のページにリダイレクトされ、更新によってデータが失われることです。
select / optionの「onlclick」で、元の呼び出しページのサブルーティングにコードを配置してFSOコードを呼び出すようにします(したがって、更新を回避します)。私はこれをさまざまな方法で試しましたが、成功しませんでした。私は現在、それ自体がVBscriptサブルーチンを呼び出すjs関数を呼び出しています。これは正しくないかもしれませんが、私は今少し迷っている非常に多くの順列を試しました。
ページ上
スクリプト
VBScript関数は何もしないようです。おそらく、更新せずにコードを実行する別の方法がありますか?どんなアドバイスでも大歓迎です。
私はクリスマス前からこれを解決しようとしてきたので、アドバイスをいただければ幸いです。
マークありがとうマーク
vbscript - ファイルのパスを見つけるにはどうすればよいですか
最終的に、私は'Product Version'
ofを返そうとしていますRobocopy.exe
(XP026 の使用を避けるため; 破損したリターン コード)。、、を使用して「製品バージョン」を取得できますShell.Application
が、事前に (フォルダー|ディレクトリ|パス)を知る必要があります。NameSpace
ParseName
NameSpace
スクリプトは別のコンピューターで実行され、Robocopy.exe はシステム PATH 環境変数にリストされている 1 つ以上のディレクトリにある可能性があるため、スクリプトに NameSpace パスを書き込むことはできません。PATH で見つかったものだけに関心があり、さらに、WScript.Shell
Run メソッドの結果として実行されるインスタンスに関心があります。WScript.Shell Run
絶対パスが指定されていない場合、システム検索パスで見つかった最初のインスタンスが実行されます。それは私が見つけたいと思っているものです。
私のバックアップ計画は、where.exe プログラムを使用して へのフル パスを見つけ、Robocopy.exe
vbs スクリプトを使用して戻し、上記のコードのようWScript.Shell Exec oExec.StdOut
に使用するパスを抽出することです。NameSpace
winapi searchpath 関数/メソッドの vbs または com コントロールの実装を探していましたが、うまくいきませんでした。FileSystemObject
またはでまだ実装されていないことに驚いていShell.Application
ます。助け、紹介、またはアイデアをいただければ幸いです。