フォロトップ:この会議室が所属するフォロのトップページへ移動します 会議室トップ:この会議室のトップページへ移動します トピック一覧:この会議室内のトピックを一覧表示します おすすめレビュー:この会議室に関連付けられたレビューを一覧表示します 発言者一覧:この会議室に発言したことのあるメンバーを一覧表示します 会議室に参加:この会議室への参加登録が出来ます
文字サイズ変更: [] [] []
お目当てのフォロへGO! 
オフィシャル
エンタメ
スポーツ
文化・趣味
コンピュータ
くらしと健康
芸術・学問
ビズと社会
地域・年代
ノンジャンル


2008年08月18日
14:37
【90】  所有者丹にでファイル一覧を抽出したい
eightと申します。

WindowsServer2003の入ったPC上のファイルを所有者単位で抽出したいのです。
具体的には、所有者がtestというユーザのファイルをフルパスで抽出したいのですが、

dir /a-d/q/s |find "test">test.list

とするとファイル名のみが出力されるので、どのディレクトリにファイルがあるのかがわかりません。

dirの/bスイッチを付けるとフルパスで出力されるのですが、今度は所有者がわかりません。

どなたか方法をご教示いただければ幸いです。
コメント
2008年08月20日
11:41
こんな感じでどうでしょう?
DIRコマンドを実行するとディレクトリ名も表示されるので
所有者付のファイル一覧を4行目から処理していきます。
行末に「のディレクトリ」があればFILEPATHにセットし
行頭に半角スペースが2個無く、所有者にOWNERにセットした値が含まれていれば
フルパスでリストに書き出します。
-----------------------------------------------------------------
@echo off
setlocal enabledelayedexpansion
set OWNER="test"
for /f "skip=3 delims=" %%a in ('dir /a:-d /q /s') do (
set TEXT=%%a
if "!TEXT:~-7!"=="のディレクトリ" (
set FILEPATH=!TEXT:~1,-8!
if not "!FILEPATH:~-1!"=="\" set FILEPATH=!FILEPATH!\
) else (
if not "!TEXT:~0,2!"==" " (
for /f "delims=" %%b in ('echo !TEXT:~36,23! ^| find /c %OWNER%') do (
if %%b==1 echo !FILEPATH!!TEXT:~59!>>%OWNER%.list
))))
-----------------------------------------------------------------
すべて表示 1番~1番を表示
 コメントするにはfolomyへの会員登録ならびにログインが必要です。 folomyに入会する
ログインする(すでに登録済みの方)
----