windows执行bat - windows批量移动文件




使用批处理创建文件夹,但仅限于尚不存在的文件夹 (6)

你只是使用这个: if not exist "C:\VTS\" mkdir C:\VTS ,只有当文件夹不存在时它才会创建一个目录。

请注意,只有存在VTS并且是目录时,此存在测试才会返回true。 如果它不存在,或者作为文件存在,则mkdir命令将运行,并应导致错误。 您可能需要检查VTS是否作为文件存在。

任何人都可以告诉我如何在Windows批处理脚本中执行以下操作? ( *.bat ):

  • 只有在文件夹不存在的情况下才创建文件夹

更详细地说,我想在C:\驱动器上创建一个名为VTS的文件夹,但只有在该文件夹不存在的情况下才可以。 如果文件夹已经存在并且批处理被执行,我不想覆盖该文件夹的内容。


尝试这个

ROBOCOPY C:\Users\ADMIN\Pictures c:%date:~4,2%%date:~7,2%%date:~10,4% /MOV

该批次将创建一个新文件夹并将其名称设置为当前日期。 (03222013)然后它会将C:\Users\ADMIN\Pictures文件夹中的任何文件移动到新创建的文件夹中。

如果今天是2013年3月22日.... C:\Users\ADMIN\Pictures所有文件都将被移至名为03222013的文件夹。

只有C:\Users\ADMIN\Pictures才会被移动。 C:\Users\ADMIN\Pictures任何文件夹都不会被触摸。


我为我的脚本创建了这个脚本,用于我的eyebeam工作。

:CREATES A CHECK VARIABLE

set lookup=0

:CHECKS IF THE FOLDER ALREADY EXIST"

IF EXIST "%UserProfile%\AppData\Local\CounterPath\RegNow Enhanced\default_user\" (set lookup=1)

:IF CHECK is still 0 which means does not exist. It creates the folder

IF %lookup%==0 START "" mkdir "%UserProfile%\AppData\Local\CounterPath\RegNow Enhanced\default_user\"

我用这种方法,你应该在目录名的末尾加上一个反斜杠,以避免这个地方存在于一个没有扩展名的文件中,它与你指定的目录名称相同,不要使用“C:\ VTS”,因为它可以是一个文件存在“C:”分区中保存的名称“VTS” ,正确的方法是使用“C:\ VTS \” ,检查VTS后面的反斜杠,所以是正确的。

@echo off
@break off
@title Create folder with batch but only if it doesn't already exist - D3F4ULT
@color 0a
@cls

setlocal EnableDelayedExpansion

if not exist "C:\VTS\" (
  mkdir "C:\VTS\"
  if "!errorlevel!" EQU "0" (
    echo Folder created successfully
  ) else (
    echo Error while creating folder
  )
) else (
  echo Folder already exists
)

pause
exit


mkdir C:\VTS 2> NUL

创建一个名为VTS的文件夹并输出NUL A subdirectory or file TEST already exists

要么

(C:&(mkdir "C:\VTS" 2> NUL))&

将盘符更改为C:mkdir ,将输出错误更改为NUL然后运行下一个命令。





cmd