Оцените мой сценарий: поиск файлов Flash, встроенных в файлы Office - PullRequest
1 голос
/ 15 июня 2010

Кто-нибудь может улучшить это?Требуются строки Sysinternals

date /T >N:\output.txt
net use z: /delete
net use z: \\svr-002\rmstudentwork
@cd /d "z:\"
"N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.xls | findstr \.swf >> "N:\output.txt"
"N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.ppt | findstr \.swf >> "N:\output.txt"
"N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.doc | findstr \.swf >> "N:\output.txt"
"N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.xlsx | findstr \.swf >> "N:\output.txt"
"N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.pptx | findstr \.swf >> "N:\output.txt"
"N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.docx | findstr \.swf >> "N:\output.txt"

date /T >>N:\output.txt
net use z: /delete /yes >>N:\output.txt
net use z: \\svr-003\rmstudentwork
"N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.xls | findstr \.swf >> "N:\output.txt"
"N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.ppt | findstr \.swf >> "N:\output.txt"
"N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.doc | findstr \.swf >> "N:\output.txt"
"N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.xlsx | findstr \.swf >> "N:\output.txt"
"N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.pptx | findstr \.swf >> "N:\output.txt"
"N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.docx | findstr \.swf >> "N:\output.txt"
net use z: /delete /yes

В основном он монтирует общий ресурс как сетевой диск, а затем проходит через общий ресурс в поисках swf-файлов в офисных документах.

1 Ответ

2 голосов
/ 16 июня 2010

Я не эксперт по пакетным файлам, но думаю, вы могли бы:

  • Сохранять повторяющиеся пути в переменных:

    set STRINGS="N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe"
    set OUTFILE=N:\output.txt
    
  • Замените повторяющиеся команды циклом FOR , например:

    for /r z:\ %%f in (*.xls *.ppt *.doc *.xlsx *.pptx *.docx) do (
      %STRINGS% -q "%%f" | findstr \.swf >> %OUTFILE%
    )
    

    (обратите внимание, что этот цикл также заменяет @cd /d "z:\" и параметр -s в strings.exe.)

Отказ от ответственности: Я пишу это изо всех сил, поэтому предлагаемый код может не работать или может потребоваться дополнительная подстройка.Во всяком случае, я надеюсь, что это даст вам идею.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...