1

次のバッチ ファイルを変更して、 と の両方をチェックするにはどうすればよいC:\Program Files\AdobeですC:\Program Files (x86)\Adobeか?

このコードは、C:\Program Files\Adobe

@echo off
if exist "C:\Program Files\Adobe" goto end
echo %computername% > \\server001\share\%computername%.txt
:end

次のことを試しましたが、うまくいきません。

@echo off
If exist "C:\Program Files\Adobe" If exist "C:\Program Files (x86)\Adobe" goto end
echo %computername% > \\server001\share\%computername%.txt
:end

あなたの助けは大歓迎です、ありがとう!

4

4 に答える 4

2

なぜこのようにしないのですか?

@echo off
If exist "C:\Program Files\Adobe"       goto end
If exist "C:\Program Files (x86)\Adobe" goto end
echo %computername% > \\server001\share\%computername%.txt
:end
于 2013-05-15T08:27:00.420 に答える
1

これを試して:

@echo off&setlocal 
If exist "C:\Program Files\Adobe\" (goto:end) else If exist "C:\Program Files (x86)\Adobe\" goto:end

フォルダーをテストする場合は、最後にバックスラッシュを付けたほうがよいでしょう。それ以外の場合は、この名前のファイルがある場合にも当てはまります。

于 2013-05-15T08:42:31.477 に答える
1
@echo off
if exist "C:\Program Files\Adobe" goto end
if exist "C:\Program Files (x86)\Adobe" goto end
echo %computername% > \\server001\share\%computername%.txt
:end

これが最も簡単な方法です。いずれgoto endかまたは両方のディレクトリが存在するかどうか。

常に両方をチェックしたい場合:

@echo off
if exist "C:\Program Files\Adobe" (
  if exist "C:\Program Files (x86)\Adobe" (
    goto end
  )
)
echo %computername% > \\server001\share\%computername%.txt
:end

これはgoto end、両方のディレクトリが存在する場合にのみ行われます。

于 2013-05-15T08:26:52.170 に答える
0

両方の OS で動作する単一のコマンドは絶対にありません。両方の場所をチェックインする必要があります。

SET ProgFiles86Root=%ProgramFiles(x86)%
IF NOT "%ProgFiles86Root%"=="" GOTO win64
SET ProgFiles86Root=%ProgramFiles%
:win64

"%ProgFiles86Root%\name of program" "arguments, etc."
于 2013-05-15T08:30:12.833 に答える