Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 批处理文件-检查作业之前是否已完成,并决定是否执行该作业_Batch File - Fatal编程技术网

Batch file 批处理文件-检查作业之前是否已完成,并决定是否执行该作业

Batch file 批处理文件-检查作业之前是否已完成,并决定是否执行该作业,batch-file,Batch File,我制作了一个批处理文件,从文件名创建一个文件夹,然后将该文件复制到新创建的文件夹中 for /F "Tokens=*" %%i in ('Dir /B *.mp4') do md "%%~ni"|copy "%%i" "%%~ni" 现在,我需要一个“扩展名”,它是检查,如果一个文件夹之前创建或没有。 如果已创建,则停止并跳到下一个。 如果没有,则如上所述创建 新创建的文件夹将在以后移动,这样它们就不会存在很长时间。试试看 for /F "Tokens=*" %%i in ('Dir /B *

我制作了一个批处理文件,从文件名创建一个文件夹,然后将该文件复制到新创建的文件夹中

for /F "Tokens=*" %%i in ('Dir /B *.mp4') do md "%%~ni"|copy "%%i" "%%~ni"
现在,我需要一个“扩展名”,它是检查,如果一个文件夹之前创建或没有。 如果已创建,则停止并跳到下一个。 如果没有,则如上所述创建

新创建的文件夹将在以后移动,这样它们就不会存在很长时间。

试试看

for /F "Tokens=*" %%i in ('Dir /B *.mp4') do IF NOT EXIST "%%~ni" md "%%~ni" | copy "%%i" "%%~ni"
试一试



为什么
md
命令将管道传输到
copy
?如何切换
/V
复制
命令?它验证复制是否成功(我认为是通过尝试阅读);这意味着目录已经成功创建…@npocmaka,我猜OP的意思是
&
,而不是
。@aschipfl我应该在哪里写/V,它应该做什么?它不会创建我假定的某种日志/历史记录?在命令提示符窗口中键入
copy/?
,然后阅读帮助,这样您就可以看到将其放置在何处;这不会输出任何日志,它只是检查目标文件是否存在(它不会与源文件进行比较,它只是尝试读取它,可能还会检查文件大小;如果不成功,
copy
应设置
ErrorLevel
)…为什么
md
命令将管道传输到
copy
?切换
/V
命令如何?它验证复制是否成功(我认为是通过尝试阅读);这意味着目录已经成功创建…@npocmaka,我猜OP的意思是
&
,而不是
。@aschipfl我应该在哪里写/V,它应该做什么?它不会创建我假定的某种日志/历史记录?在命令提示符窗口中键入
copy/?
,然后阅读帮助,这样您就可以看到将其放置在何处;这不会输出任何日志,它只是检查目标文件是否存在(它不会与源文件进行比较,它只是尝试读取它,也许还会检查文件大小;如果不成功,
copy
应设置
ErrorLevel
)……这只能解决一半问题。正如我所说的,新创建的文件夹将被移动(但源代码将保留一段时间),如果脚本再次运行,将创建一个新文件夹。必须有这样的想法:检查文件oldnames.txt如果文件名存在,停止,如果不存在,继续/F“代币……”最后,请用oldnames.txt写下foldername对不起,给我几分钟时间,我会为你写下剩下的内容,然后回家!在那件事上比我先道歉没问题伙计!是否可以仅对某些文件夹执行此操作?让我们只说文件夹“c:\abc”,而不是“c:\123”?我想在torrents完成后调用此bat,但仅针对一些特殊的torrents,我想创建一个排除文件,并在创建后写入该文件,但如果您考虑torrents,是否有机会重命名电影,然后将其移动到正确的目录?如果torrents被重命名,我不能再给它们播种了,那只能解决一半的问题。正如我所说的,新创建的文件夹将被移动(但源代码将保留一段时间),如果脚本再次运行,将创建一个新文件夹。必须有这样的想法:检查文件oldnames.txt如果文件名存在,停止,如果不存在,继续/F“代币……”最后,请用oldnames.txt写下foldername对不起,给我几分钟时间,我会为你写下剩下的内容,然后回家!在那件事上比我先道歉没问题伙计!是否可以仅对某些文件夹执行此操作?让我们只说文件夹“c:\abc”,而不是“c:\123”?我想在torrents完成后调用此bat,但仅针对一些特殊的torrents,我想创建一个排除文件,并在创建后写入该文件,但如果您考虑torrents,是否有机会重命名电影,然后将其移动到正确的目录?如果torrents被重命名,我再也不能播种了。