1
これら2つのバッチファイルを結合する必要があります。最初の.batファイルは、コンピュータにインストールされているMicrosoft Officeのバージョンに関する情報を取得し、2番目のファイルはコンピュータに関する情報を取得し、ネットワーク上のファイルに送信します。これらのファイルを組み合わせて、この情報がすべてネットワーク上の同じファイルに書き込まれるようにする必要があります。これら2つのバッチファイルを結合するには
最初の.batファイル
setlocal enableDelayedExpansion
for /f "tokens=2 delims==" %%O in ('ftype ^|findstr /r /I "\\OFFICE[0-9]*" 2^>nul') do (
set "tokens=%%~O"
goto END_TOKENS
)
:END_TOKENS
for %%P in (%tokens%) do (
set "officePath=%%~dpP"
for %%V in ("!officePath:~0,-1!") do (
set "officeVersion=%%~nV"
goto END_OFFICEPATH
)
)
:END_OFFICEPATH
REM Check Office "Version"
if "%officeVersion%" == "Office11" (
echo Microsoft Office 2003
)
if "%officeVersion%" == "Office12" (
echo Microsoft Office 2007
)
if "%officeVersion%" == "Office14" (
echo Microsoft Office 2010
)
if "%officeVersion%" == "Office15" (
echo Microsoft Office 2013
)
if "%officeVersion%" == "" (
echo Microsoft Office is not installed
goto END
)
REM Check Office "Bitness"
set keyName="HKLM\Software\WOW6432Node\Microsoft\Office"
set valueName=""
FOR /F "usebackq skip=4 tokens=1-3" %%A IN (`REG QUERY %keyName%`) DO (
set valueName=%%A
)
if defined valueName (
@echo Microsoft Office is 32-bit
) else (
set keyName="HKLM\Software\Microsoft\Office"
set valueName=""
FOR /F "usebackq skip=4 tokens=1-3" %%A IN (`REG QUERY %keyName%`) DO (
set valueName=%%A
)
if defined valueName (
@echo Microsoft Office is 64-bit
)
)
:END
endlocal
echo Completed! Thank you!
pause
二.batファイル
ここ@echo off
net use Q: \\example\example
(systeminfo | findstr /c:"Host Name"
systeminfo | findstr /c:"Domain"
ipconfig | findstr IPv4
systeminfo | findstr /c:"System Manufacturer"
systeminfo | findstr /c:"System Model"
echo Service Tag:
wmic bios get serialnumber
systeminfo | findstr /c:"OS Name"
systeminfo | findstr /c:"os version"
systeminfo | findstr /c:"Total Physical Memory"
systeminfo | findstr /c:"System type"
echo %username%) > Q:\example\%computername%.txt
net use Q: /delete
echo Completed! Thank you!
'>'は新しいファイルに書き込み、 '>>'は追加します。あなたの最初のバットは '...> toTheFile'で、2番目のバッチは' 'ToTheSameFile''になります。上記の 'file'のパスはcmd行パラメータとして渡され、'%1'の目的のフレーバーを使って取得できます –
あるスクリプトから別のスクリプトにコードをコピーして貼り付けるのを止めているのは何ですか? – Squashman
^これはアイデアだが、正しく動作させるためのバッチスクリプトについては十分に分かっていない: – JacobElliott