none
バッチファイルで現在のフォルダが●●の場合 RRS feed

  • 質問

  • バッチファイル上にて特定のフォルダ内で実行した場合の結果を変更したいと思っています。

    例)そのバッチファイルがどのユーザであろうとデスクトップ上なら実行しない

    if式だとは思うのですが・・・
    2020年8月15日 8:55

回答

  • 例にあるようなバッチを動かすのであれば、以下のような感じでいかがでしょうか。

    if "%~dp0" == "%USERPROFILE%\Desktop\" GOTO END
    
    rem デスクトップ以外にある場合の処理記載
    
    :END
    exit

    • 回答としてマーク pipora 2020年8月15日 9:52
    2020年8月15日 9:22

すべての返信

  • 例にあるようなバッチを動かすのであれば、以下のような感じでいかがでしょうか。

    if "%~dp0" == "%USERPROFILE%\Desktop\" GOTO END
    
    rem デスクトップ以外にある場合の処理記載
    
    :END
    exit

    • 回答としてマーク pipora 2020年8月15日 9:52
    2020年8月15日 9:22
  • ありがとうございました。

    シンプルでとても良いですね!

    2020年8月15日 9:53
  • © ウィンドウズスクリプトプログラマ - Windows Script Programmer 2020
    if /i を忘れずに。
    2020年8月16日 8:00
  • © ウィンドウズスクリプトプログラマ - Windows Script Programmer 2020
    あと、onedriveの場合も考慮。

    "%USERPROFILE%\onedrive\デスクトップ"

    ユーザが移動してるときも考慮するなら、レジストリから引っ張る。

    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders の Desktop値

    2020年8月16日 8:12