Repository: conda/conda

Issue:
conda remove erased directories not from a conda environment
<!--
Hi!  Read this; it's important.

This is an issue tracker for conda -- the package manager.  File feature requests
for conda here, as well as bug reports about something conda has messed up.

Anaconda Community Code of Conduct: https://www.anaconda.com/community-code-of-conduct/

If your issue is a bug report or feature request for:
  * a specific conda package from Anaconda ('defaults' channel):
      ==> file at https://github.com/ContinuumIO/anaconda-issues
  * a specific conda package from conda-forge:
      ==> file at the corresponding feedstock under https://github.com/conda-forge
  * repo.anaconda.com access and service:
      ==> file at https://github.com/ContinuumIO/anaconda-issues
  * anaconda.org access and service:
      ==> file at https://anaconda.org/contact/report
  * commands under 'conda build':
      ==> file at https://github.com/conda/conda-build
  * commands under 'conda env':
      ==> please file it here!
  * all other conda commands that start with 'conda':
      ==> 

If you continue on, and especially if you are submitting a bug report,

   **please include all requested information below.**

If a maintainer determines the information is required to understand 
your issue, and if it is not provided, your issue may be
closed automatically.

-->

**I'm submitting a...**
  - [x ] bug report


## Current Behavior
<!-- What actually happens?
     If you want to include console output, please use "Steps to Reproduce" below. -->
`conda remove -p /dss/dssfs02/lwp-dss-0001/pn69xe/pn69xe-dss-0000/di52zuy --all` removed all my files and directories even though they were not an environment. The intended command was `conda remove -p /dss/dssfs02/lwp-dss-0001/pn69xe/pn69xe-dss-0000/di52zuy/ignite_tools_py3 --all` but the environment name was not added by mistake. Result: **2.5Tb** of data are gone...

### Steps to Reproduce
<!-- If the current behavior is a bug, please provide specific, minimal steps to independently reproduce.
     Include the exact conda commands that reproduce the issue and their output between the ticks below. -->
Use of `conda remove` with a PATH that is not an environment.
```
conda remove -p /dss/dssfs02/lwp-dss-0001/pn69xe/pn69xe-dss-0000/di52zuy --all
```


## Expected Behavior
<!-- What do you think should happen? -->
Conda should be able to know what is a conda env and what not. Erasing all directories and files without checking first (not sure if this is true) is not ideal. 

## Environment Information
<details open><summary><code>`conda info`</code></summary><p>
<!-- between the ticks below, paste the output of 'conda info' -->

```
conda info

     active environment : None
            shell level : 0
       user config file : /dss/dsshome1/lxc04/di52zuy/.condarc
 populated config files : /dss/dsshome1/lxc04/di52zuy/.condarc
          conda version : 4.8.2
    conda-build version : 3.18.11
         python version : 3.7.6.final.0
       virtual packages : __glibc=2.22
       base environment : /dss/dssfs02/lwp-dss-0001/pn69xe/pn69xe-dss-0000/di52zuy/ignite_tools_py3  (writable)
           channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://conda.anaconda.org/bioconda/linux-64
                          https://conda.anaconda.org/bioconda/noarch
                          https://conda.anaconda.org/ursky/linux-64
                          https://conda.anaconda.org/ursky/noarch
          package cache : /dss/dssfs02/lwp-dss-0001/pn69xe/pn69xe-dss-0000/di52zuy/ignite_tools_py3/.conda/pkgs
       envs directories : /dss/dssfs02/lwp-dss-0001/pn69xe/pn69xe-dss-0000/di52zuy/ignite_tools_py3/.conda/envs
                          /dss/dssfs02/lwp-dss-0001/pn69xe/pn69xe-dss-0000/di52zuy/ignite_tools_py3/envs
                          /dss/dsshome1/lxc04/di52zuy/.conda/envs
               platform : linux-64
             user-agent : conda/4.8.2 requests/2.22.0 CPython/3.7.6 Linux/4.12.14-95.32-default sles/12.4 glibc/2.22
                UID:GID : 3907198:3891457
             netrc file : None
           offline mode : False
```
</p></details>


<details open><summary><code>`conda config --show-sources`</code></summary><p>
<!-- between the ticks below, paste the output of 'conda config --show-sources' -->

```
conda config --show-sources
==> /dss/dsshome1/lxc04/di52zuy/.condarc <==
auto_activate_base: False
root_prefix: /dss/dssfs02/lwp-dss-0001/pn69xe/pn69xe-dss-0000/di52zuy/ignite_tools_py3
envs_dirs:
  - /dss/dssfs02/lwp-dss-0001/pn69xe/pn69xe-dss-0000/di52zuy/ignite_tools_py3/.conda/envs
pkgs_dirs:
  - /dss/dssfs02/lwp-dss-0001/pn69xe/pn69xe-dss-0000/di52zuy/ignite_tools_py3/.conda/pkgs
channel_priority: flexible
channels:
  - defaults
  - conda-forge
  - bioconda
  - ursky
```
</p></details>


<details><summary><code>`conda list --show-channel-urls`</code></summary><p>
<!-- between the ticks below, paste the output of 'conda list --show-channel-urls' -->

```
conda list --show-channel-urls
# packages in environment at /dss/dssfs02/lwp-dss-0001/pn69xe/pn69xe-dss-0000/di52zuy/ignite_tools_py3:
#
# Name                    Version                   Build  Channel
_ipyw_jlab_nb_ext_conf    0.1.0                    py37_0    defaults
_libgcc_mutex             0.1                        main    defaults
alabaster                 0.7.12                   py37_0    defaults
anaconda                  2020.02                  py37_0    defaults
anaconda-client           1.7.2                    py37_0    defaults
anaconda-navigator        1.9.12                   py37_0    defaults
anaconda-project          0.8.4                      py_0    defaults
argh                      0.26.2                   py37_0    defaults
asn1crypto                1.3.0                    py37_0    defaults
astroid                   2.3.3                    py37_0    defaults
astropy                   4.0              py37h7b6447c_0    defaults
atomicwrites              1.3.0                    py37_1    defaults
attrs                     19.3.0                     py_0    defaults
autopep8                  1.4.4                      py_0    defaults
babel                     2.8.0                      py_0    defaults
backcall                  0.1.0                    py37_0    defaults
backports                 1.0                        py_2    defaults
backports.functools_lru_cache 1.6.1                      py_0    defaults
backports.shutil_get_terminal_size 1.0.0                    py37_2    defaults
backports.tempfile        1.0                        py_1    defaults
backports.weakref         1.0.post1                  py_1    defaults
beautifulsoup4            4.8.2                    py37_0    defaults
bitarray                  1.2.1            py37h7b6447c_0    defaults
bkcharts                  0.2                      py37_0    defaults
blas                      1.0                         mkl    defaults
bleach                    3.1.0                    py37_0    defaults
blosc                     1.16.3               hd408876_0    defaults
bokeh                     1.4.0                    py37_0    defaults
boost-cpp                 1.70.0               ha2d47e9_1    conda-forge
boto                      2.49.0                   py37_0    defaults
bottleneck                1.3.2            py37heb32a55_0    defaults
bzip2                     1.0.8                h7b6447c_0    defaults
ca-certificates           2020.1.1                      0    defaults
cairo                     1.14.12              h8948797_3    defaults
certifi                   2019.11.28               py37_0    defaults
cffi                      1.14.0           py37h2e261b9_0    defaults
chardet                   3.0.4                 py37_1003    defaults
click                     7.0                      py37_0    defaults
cloudpickle               1.3.0                      py_0    defaults
clyent                    1.2.2                    py37_1    defaults
colorama                  0.4.3                      py_0    defaults
conda                     4.8.2                    py37_0    defaults
conda-build               3.18.11                  py37_0    defaults
conda-env                 2.6.0                         1    defaults
conda-package-handling    1.6.0            py37h7b6447c_0    defaults
conda-verify              3.4.2                      py_1    defaults
contextlib2               0.6.0.post1                py_0    defaults
cryptography              2.8              py37h1ba5d50_0    defaults
curl                      7.68.0               hbc83047_0    defaults
cycler                    0.10.0                   py37_0    defaults
cython                    0.29.15          py37he6710b0_0    defaults
cytoolz                   0.10.1           py37h7b6447c_0    defaults
dask                      2.11.0                     py_0    defaults
dask-core                 2.11.0                     py_0    defaults
dbus                      1.13.12              h746ee38_0    defaults
decorator                 4.4.1                      py_0    defaults
defusedxml                0.6.0                      py_0    defaults
diff-match-patch          20181111                   py_0    defaults
distributed               2.11.0                   py37_0    defaults
docutils                  0.16                     py37_0    defaults
entrypoints               0.3                      py37_0    defaults
et_xmlfile                1.0.1                    py37_0    defaults
expat                     2.2.6                he6710b0_0    defaults
fastcache                 1.1.0            py37h7b6447c_0    defaults
filelock                  3.0.12                     py_0    defaults
flake8                    3.7.9                    py37_0    defaults
flask                     1.1.1                      py_0    defaults
fontconfig                2.13.0               h9420a91_0    defaults
freetype                  2.9.1                h8a8886c_1    defaults
fribidi                   1.0.5                h7b6447c_0    defaults
fsspec                    0.6.2                      py_0    defaults
future                    0.18.2                   py37_0    defaults
get_terminal_size         1.0.0                haa9412d_0    defaults
gevent                    1.4.0            py37h7b6447c_0    defaults
glib                      2.63.1               h5a9c865_0    defaults
glob2                     0.7                        py_0    defaults
gmp                       6.1.2                h6c8ec71_1    defaults
gmpy2                     2.0.8            py37h10f8cd9_2    defaults
graphite2                 1.3.13               h23475e2_0    defaults
greenlet                  0.4.15           py37h7b6447c_0    defaults
gst-plugins-base          1.14.0               hbbd80ab_1    defaults
gstreamer                 1.14.0               hb453b48_1    defaults
h5py                      2.10.0           py37h7918eee_0    defaults
harfbuzz                  1.8.8                hffaf4a1_0    defaults
hdf5                      1.10.4               hb1b8bf9_0    defaults
heapdict                  1.0.1                      py_0    defaults
html5lib                  1.0.1                    py37_0    defaults
hypothesis                5.5.4                      py_0    defaults
icu                       58.2                 h9c2bf20_1    defaults
idna                      2.8                      py37_0    defaults
imageio                   2.6.1                    py37_0    defaults
imagesize                 1.2.0                      py_0    defaults
importlib_metadata        1.5.0                    py37_0    defaults
intel-openmp              2020.0                      166    defaults
intervaltree              3.0.2                      py_0    defaults
ipykernel                 5.1.4            py37h39e3cac_0    defaults
ipython                   7.12.0           py37h5ca1d4c_0    defaults
ipython_genutils          0.2.0                    py37_0    defaults
ipywidgets                7.5.1                      py_0    defaults
isort                     4.3.21                   py37_0    defaults
itsdangerous              1.1.0                    py37_0    defaults
jbig                      2.1                  hdba287a_0    defaults
jdcal                     1.4.1                      py_0    defaults
jedi                      0.14.1                   py37_0    defaults
jeepney                   0.4.2                      py_0    defaults
jinja2                    2.11.1                     py_0    defaults
joblib                    0.14.1                     py_0    defaults
jpeg                      9b                   h024ee3a_2    defaults
json5                     0.9.1                      py_0    defaults
jsonschema                3.2.0                    py37_0    defaults
jupyter                   1.0.0                    py37_7    defaults
jupyter_client            5.3.4                    py37_0    defaults
jupyter_console           6.1.0                      py_0    defaults
jupyter_core              4.6.1                    py37_0    defaults
jupyterlab                1.2.6              pyhf63ae98_0    defaults
jupyterlab_server         1.0.6                      py_0    defaults
kat                       2.4.2            py37he1b856b_0    bioconda
keyring                   21.1.0                   py37_0    defaults
kiwisolver                1.1.0            py37he6710b0_0    defaults
krb5                      1.17.1               h173b8e3_0    defaults
lazy-object-proxy         1.4.3            py37h7b6447c_0    defaults
ld_impl_linux-64          2.33.1               h53a641e_7    defaults
libarchive                3.3.3                h5d8350f_5    defaults
libcurl                   7.68.0               h20c2e04_0    defaults
libedit                   3.1.20181209         hc058e9b_0    defaults
libffi                    3.2.1                hd88cf55_4    defaults
libgcc                    7.2.0                h69d50b8_2    defaults
libgcc-ng                 9.1.0                hdf63c60_0    defaults
libgfortran-ng            7.3.0                hdf63c60_0    defaults
liblief                   0.9.0                h7725739_2    defaults
libpng                    1.6.37               hbc83047_0    defaults
libsodium                 1.0.16               h1bed415_0    defaults
libspatialindex           1.9.3                he6710b0_0    defaults
libssh2                   1.8.2                h1ba5d50_0    defaults
libstdcxx-ng              9.1.0                hdf63c60_0    defaults
libtiff                   4.1.0                h2733197_0    defaults
libtool                   2.4.6                h7b6447c_5    defaults
libuuid                   1.0.3                h1bed415_2    defaults
libxcb                    1.13                 h1bed415_1    defaults
libxml2                   2.9.9                hea5a465_1    defaults
libxslt                   1.1.33               h7d1a2b0_0    defaults
llvmlite                  0.31.0           py37hd408876_0    defaults
locket                    0.2.0                    py37_1    defaults
lxml                      4.5.0            py37hefd8a0e_0    defaults
lz4-c                     1.8.1.2              h14c3975_0    defaults
lzo                       2.10                 h49e0be7_2    defaults
markupsafe                1.1.1            py37h7b6447c_0    defaults
matplotlib                3.1.3                    py37_0    defaults
matplotlib-base           3.1.3            py37hef1b27d_0    defaults
mccabe                    0.6.1                    py37_1    defaults
mistune                   0.8.4            py37h7b6447c_0    defaults
mkl                       2020.0                      166    defaults
mkl-service               2.3.0            py37he904b0f_0    defaults
mkl_fft                   1.0.15           py37ha843d7b_0    defaults
mkl_random                1.1.0            py37hd6b4f25_0    defaults
mock                      4.0.1                      py_0    defaults
more-itertools            8.2.0                      py_0    defaults
mpc                       1.1.0                h10f8cd9_1    defaults
mpfr                      4.0.1                hdf1c602_3    defaults
mpmath                    1.1.0                    py37_0    defaults
msgpack-python            0.6.1            py37hfd86e86_1    defaults
multipledispatch          0.6.0                    py37_0    defaults
navigator-updater         0.2.1                    py37_0    defaults
nbconvert                 5.6.1                    py37_0    defaults
nbformat                  5.0.4                      py_0    defaults
ncurses                   6.2                  he6710b0_0    defaults
networkx                  2.4                        py_0    defaults
nltk                      3.4.5                    py37_0    defaults
nose                      1.3.7                    py37_2    defaults
notebook                  6.0.3                    py37_0    defaults
numba                     0.48.0           py37h0573a6f_0    defaults
numexpr                   2.7.1            py37h423224d_0    defaults
numpy                     1.18.1           py37h4f9e942_0    defaults
numpy-base                1.18.1           py37hde5b4d6_1    defaults
numpydoc                  0.9.2                      py_0    defaults
olefile                   0.46                     py37_0    defaults
openpyxl                  3.0.3                      py_0    defaults
openssl                   1.1.1d               h7b6447c_4    defaults
packaging                 20.1                       py_0    defaults
pandas                    1.0.1            py37h0573a6f_0    defaults
pandoc                    2.2.3.2                       0    defaults
pandocfilters             1.4.2                    py37_1    defaults
pango                     1.42.4               h049681c_0    defaults
parso                     0.5.2                      py_0    defaults
partd                     1.1.0                      py_0    defaults
patchelf                  0.10                 he6710b0_0    defaults
path                      13.1.0                   py37_0    defaults
path.py                   12.4.0                        0    defaults
pathlib2                  2.3.5                    py37_0    defaults
pathtools                 0.1.2                      py_1    defaults
patsy                     0.5.1                    py37_0    defaults
pcre                      8.43                 he6710b0_0    defaults
pep8                      1.7.1                    py37_0    defaults
perl                      5.26.2               h14c3975_0    defaults
perl-bioperl              1.6.924                       4    bioconda
perl-threaded             5.26.0                        0    bioconda
perl-yaml                 1.29                    pl526_0    bioconda
pexpect                   4.8.0                    py37_0    defaults
pickleshare               0.7.5                    py37_0    defaults
pillow                    7.0.0            py37hb39fc2d_0    defaults
pip                       20.0.2                   py37_1    defaults
pixman                    0.38.0               h7b6447c_0    defaults
pkginfo                   1.5.0.1                  py37_0    defaults
pluggy                    0.13.1                   py37_0    defaults
ply                       3.11                     py37_0    defaults
prometheus_client         0.7.1                      py_0    defaults
prompt_toolkit            3.0.3                      py_0    defaults
psutil                    5.6.7            py37h7b6447c_0    defaults
ptyprocess                0.6.0                    py37_0    defaults
py                        1.8.1                      py_0    defaults
py-lief                   0.9.0            py37h7725739_2    defaults
pycodestyle               2.5.0                    py37_0    defaults
pycosat                   0.6.3            py37h7b6447c_0    defaults
pycparser                 2.19                     py37_0    defaults
pycrypto                  2.6.1            py37h14c3975_9    defaults
pycurl                    7.43.0.5         py37h1ba5d50_0    defaults
pydocstyle                4.0.1                      py_0    defaults
pyflakes                  2.1.1                    py37_0    defaults
pygments                  2.5.2                      py_0    defaults
pylint                    2.4.4                    py37_0    defaults
pyodbc                    4.0.30           py37he6710b0_0    defaults
pyopenssl                 19.1.0                   py37_0    defaults
pyparsing                 2.4.6                      py_0    defaults
pyqt                      5.9.2            py37h05f1152_2    defaults
pyrsistent                0.15.7           py37h7b6447c_0    defaults
pysocks                   1.7.1                    py37_0    defaults
pytables                  3.6.1            py37h71ec239_0    defaults
pytest                    5.3.5                    py37_0    defaults
pytest-arraydiff          0.3              py37h39e3cac_0    defaults
pytest-astropy            0.8.0                      py_0    defaults
pytest-astropy-header     0.1.2                      py_0    defaults
pytest-doctestplus        0.5.0                      py_0    defaults
pytest-openfiles          0.4.0                      py_0    defaults
pytest-remotedata         0.3.2                    py37_0    defaults
python                    3.7.6                h0371630_2    defaults
python-dateutil           2.8.1                      py_0    defaults
python-jsonrpc-server     0.3.4                      py_0    defaults
python-language-server    0.31.7                   py37_0    defaults
python-libarchive-c       2.8                     py37_13    defaults
pytz                      2019.3                     py_0    defaults
pywavelets                1.1.1            py37h7b6447c_0    defaults
pyxdg                     0.26                       py_0    defaults
pyyaml                    5.3              py37h7b6447c_0    defaults
pyzmq                     18.1.1           py37he6710b0_0    defaults
qdarkstyle                2.8                        py_0    defaults
qt                        5.9.7                h5867ecd_1    defaults
qtawesome                 0.6.1                      py_0    defaults
qtconsole                 4.6.0                      py_1    defaults
qtpy                      1.9.0                      py_0    defaults
readline                  7.0                  h7b6447c_5    defaults
requests                  2.22.0                   py37_1    defaults
ripgrep                   11.0.2               he32d670_0    defaults
rope                      0.16.0                     py_0    defaults
rtree                     0.9.3                    py37_0    defaults
ruamel_yaml               0.15.87          py37h7b6447c_0    defaults
scikit-image              0.16.2           py37h0573a6f_0    defaults
scikit-learn              0.22.1           py37hd81dba3_0    defaults
scipy                     1.4.1            py37h0b6359f_0    defaults
seaborn                   0.10.0                     py_0    defaults
secretstorage             3.1.2                    py37_0    defaults
send2trash                1.5.0                    py37_0    defaults
setuptools                45.2.0                   py37_0    defaults
simplegeneric             0.8.1                    py37_2    defaults
singledispatch            3.4.0.3                  py37_0    defaults
sip                       4.19.8           py37hf484d3e_0    defaults
six                       1.14.0                   py37_0    defaults
snappy                    1.1.7                hbae5bb6_3    defaults
snowballstemmer           2.0.0                      py_0    defaults
sortedcollections         1.1.2                    py37_0    defaults
sortedcontainers          2.1.0                    py37_0    defaults
soupsieve                 1.9.5                    py37_0    defaults
sphinx                    2.4.0                      py_0    defaults
sphinxcontrib             1.0                      py37_1    defaults
sphinxcontrib-applehelp   1.0.1                      py_0    defaults
sphinxcontrib-devhelp     1.0.1                      py_0    defaults
sphinxcontrib-htmlhelp    1.0.2                      py_0    defaults
sphinxcontrib-jsmath      1.0.1                      py_0    defaults
sphinxcontrib-qthelp      1.0.2                      py_0    defaults
sphinxcontrib-serializinghtml 1.1.3                      py_0    defaults
sphinxcontrib-websupport  1.2.0                      py_0    defaults
spyder                    4.0.1                    py37_0    defaults
spyder-kernels            1.8.1                    py37_0    defaults
sqlalchemy                1.3.13           py37h7b6447c_0    defaults
sqlite                    3.31.1               h7b6447c_0    defaults
statsmodels               0.11.0           py37h7b6447c_0    defaults
sympy                     1.5.1                    py37_0    defaults
tabulate                  0.8.3                    py37_0    defaults
tbb                       2020.0               hfd86e86_0    defaults
tblib                     1.6.0                      py_0    defaults
terminado                 0.8.3                    py37_0    defaults
testpath                  0.4.4                      py_0    defaults
tk                        8.6.8                hbc83047_0    defaults
toolz                     0.10.0                     py_0    defaults
tornado                   6.0.3            py37h7b6447c_3    defaults
tqdm                      4.42.1                     py_0    defaults
traitlets                 4.3.3                    py37_0    defaults
ujson                     1.35             py37h14c3975_0    defaults
unicodecsv                0.14.1                   py37_0    defaults
unixodbc                  2.3.7                h14c3975_0    defaults
urllib3                   1.25.8                   py37_0    defaults
watchdog                  0.10.2                   py37_0    defaults
wcwidth                   0.1.8                      py_0    defaults
webencodings              0.5.1                    py37_1    defaults
werkzeug                  1.0.0                      py_0    defaults
wheel                     0.34.2                   py37_0    defaults
widgetsnbextension        3.5.1                    py37_0    defaults
wrapt                     1.11.2           py37h7b6447c_0    defaults
wurlitzer                 2.0.0                    py37_0    defaults
xlrd                      1.2.0                    py37_0    defaults
xlsxwriter                1.2.7                      py_0    defaults
xlwt                      1.3.0                    py37_0    defaults
xmltodict                 0.12.0                     py_0    defaults
xz                        5.2.4                h14c3975_4    defaults
yaml                      0.1.7                had09818_2    defaults
yapf                      0.28.0                     py_0    defaults
zeromq                    4.3.1                he6710b0_3    defaults
zict                      1.0.0                      py_0    defaults
zipp                      2.2.0                      py_0    defaults
zlib                      1.2.11               h7b6447c_3    defaults
zstd                      1.3.7                h0b5b093_0    defaults
```
</p></details>



Discussion:
Unverified myself, but if accurate this is a sev-1 bug.
Confirmed in 4.8.3; basic steps to reproduce:
```
mkdir /tmp/not-an-env
touch /tmp/not-an-env
conda remove --all -y -p /tmp/not-an-env
```

Resolving patch:
diff --git a/conda/cli/main_remove.py b/conda/cli/main_remove.py
--- a/conda/cli/main_remove.py
+++ b/conda/cli/main_remove.py
@@ -4,6 +4,7 @@
 from __future__ import absolute_import, division, print_function, unicode_literals
 
 import logging
+from os.path import isfile, join
 import sys
 
 from .common import check_non_admin, specs_from_args
@@ -13,7 +14,7 @@
 from ..core.link import PrefixSetup, UnlinkLinkTransaction
 from ..core.prefix_data import PrefixData
 from ..core.solve import Solver
-from ..exceptions import CondaEnvironmentError, CondaValueError
+from ..exceptions import CondaEnvironmentError, CondaValueError, DirectoryNotACondaEnvironmentError
 from ..gateways.disk.delete import rm_rf, path_is_clean
 from ..models.match_spec import MatchSpec
 from ..exceptions import PackagesNotFoundError
@@ -54,6 +55,8 @@ def execute(args, parser):
         if prefix == context.root_prefix:
             raise CondaEnvironmentError('cannot remove root environment,\n'
                                         '       add -n NAME or -p PREFIX option')
+        if not isfile(join(prefix, 'conda-meta', 'history')):
+            raise DirectoryNotACondaEnvironmentError(prefix)
         print("\nRemove all packages in environment %s:\n" % prefix, file=sys.stderr)
 
         if 'package_names' in args:


Test patch:
diff --git a/tests/test_create.py b/tests/test_create.py
--- a/tests/test_create.py
+++ b/tests/test_create.py
@@ -2878,6 +2878,22 @@ def test_remove_empty_env(self):
             run_command(Commands.CREATE, prefix)
             run_command(Commands.REMOVE, prefix, '--all')
 
+    def test_remove_ignore_nonenv(self):
+        with tempdir() as test_root:
+            prefix = join(test_root, "not-an-env")
+            filename = join(prefix, "file.dat")
+
+            os.mkdir(prefix)
+            with open(filename, "wb") as empty:
+                pass
+
+            with pytest.raises(DirectoryNotACondaEnvironmentError):
+                run_command(Commands.REMOVE, prefix, "--all")
+
+            assert(exists(filename))
+            assert(exists(prefix))
+
+
 @pytest.mark.skipif(True, reason="get the rest of Solve API worked out first")
 @pytest.mark.integration
 class PrivateEnvIntegrationTests(TestCase):