我是编程新手,没有任何背景。我正在创建一个批处理脚本,将创建基于用户输入的文件夹。然后,它会将文件从共享服务器复制到已创建的本地文件夹。
我有以下脚本:
@ECHO OFF
REM *********************************************************************
REM **This will create directories and Copy Files for your project**
REM *********************************************************************
ECHO Plese enter the no. between 1 to 5 only
set /p input=[Please enter:1-Belgium, 2-Austria, 3-France, 4-Germany, 5-Greece]
if %input%==1 md BEL
if %input%==2 md AUT
if %input%==3 md FRA
if %input%==4 md DEU
if %input%==5 md GRE
if %input%==1 cd BEL
if %input%==2 cd AUT
if %input%==3 cd FRA
if %input%==4 cd DEU
if %input%==5 cd GRE
::ECHO Please enter the no. between 1 to 5 only
:END
set /p userinput=[Please enter your folder name]
mkdir %userinput%
cd %userinput%
set /p input=[Press 1 for 1.0, 2 for 2.0]
if %input%==1 md Folder1
if %input%==2 md Folder2
IF EXIST .\Folder1 xcopy "C:\ProgramFiles\kasras01\file2.txt"
一直以来,代码都运行得很好,直到我需要检查文件夹是否存在的部分。如果是这样,那么我需要从另一个位置复制一个文件到这个文件夹。但是我不能让它工作。我想我的语法是错误的。我怎么才能让它工作?感谢您的帮助。
发布于 2021-01-03 22:34:34
我需要检查目录中是否存在文件夹或文件,并且需要区分它们。
我发现在某些情况下使用\nul是不可靠的(Windows10)--这意味着无论是否存在同名的文件或文件夹,检查IF EXIST "%foldername%\nul"
都会返回true。
我发现在我的例子中,使用IF EXIST "%foldername%\"
(没有nul
)工作得很好。
代码片段:
IF EXIST "%fname%" (
goto :f1
) ELSE (
goto :f2
)
:f1
IF EXIST "%fname%\" (
echo Folder with the same name already exists!
echo Cannot continue!
) ELSE (
echo File with the same name already exists!
echo Cannot continue!
)
https://stackoverflow.com/questions/50736263
复制相似问题