2

フルパス\ファイル名、ファイル所有者、およびデータ サーバーのすべてのハード ドライブからのすべての txt および html ファイルの最終書き込みアクセス (変更日) を含む CSV を作成しようとしています。

これが私がこれまでに得たものです:

set pgm=%~n0
set log=%~dpn0.log
set host=%COMPUTERNAME%
set csv=%host%.csv
set dir=D:\BME

if not exist "%csv%" type nul>"%csv%"
    for /f "delims=;" %%a in ('dir /b/s %dir%\*.txt, %dir%\*.html') do (
    >>%csv% echo "%%a"
)

これは、CSV 内の特定のフォルダーの見つかったすべての txt および html ファイルのパス + ファイル名を出力します。ハードドライブを取得するためにこのコマンドを試しました:

wmic logicaldisk where drivetype=3 get caption

しかし、それを変数またはファイルに保存してループし、所有者と最終更新日を取得してcsvファイルの新しい列に入れる方法について頭を悩ませることはできません。

4

2 に答える 2

1

それを変数に格納する方法がわかりません

次のバッチ ファイルを使用します。

GetDrives.cmd:

@echo off
setlocal enabledelayedexpansion
rem skip=1 to remove the header
rem findstr to remove blank lines
for /f "skip=1" %%d in ('wmic logicaldisk where drivetype^=3 get caption ^| findstr /r /v "^$"') do (
  set _drive=%%d
  echo !_drive!
  )
endlocal

ノート:

  • drivetype=3タイプのリムーバブルドライブを持っているので、使用するときは注意してください3。以下の出力C:は固定ハードディスクF:で、リムーバブル外付け USB ドライブです。
  • echo !_drive!必要に応じて、既存のコードの修正バージョンに置き換えます。

出力例:

F:\test>GetDrives
C:
F:

F:\test>

参考文献

于 2016-08-19T10:26:03.317 に答える
1
于 2016-08-21T10:44:01.267 に答える