Batch file 批处理文件移动命令";系统找不到指定的路径。”;尽管正确识别了要移动的文件
我试图创建一个批处理文件,创建一个带有日期戳的文件夹结构和其中的两个文件夹,然后将一些文件作为存档形式移动到这些子文件夹中 经过一些研究,我成功地生成了正确的文件夹结构,但是我仍在努力使文件正确移动 原始Batch file 批处理文件移动命令";系统找不到指定的路径。”;尽管正确识别了要移动的文件,batch-file,file-management,Batch File,File Management,我试图创建一个批处理文件,创建一个带有日期戳的文件夹结构和其中的两个文件夹,然后将一些文件作为存档形式移动到这些子文件夹中 经过一些研究,我成功地生成了正确的文件夹结构,但是我仍在努力使文件正确移动 原始归档文件(批处理文件位于此处)按日期命名的文件夹>>>in>>OUT>in>OUT 我的批处理文件代码如下: for /f "skip=1" %%d in ('wmic os get localdatetime') do if not defined mydate set mydate=%%d
归档文件(批处理文件位于此处)
按日期命名的文件夹
>>>in
>>OUT
>in
>OUT 我的批处理文件代码如下:
for /f "skip=1" %%d in ('wmic os get localdatetime') do if not defined mydate set mydate=%%d
md %mydate:~0,8%\IN
md %mydate:~0,8%\OUT
move /y "C:\Main Database\Raw\IN\*.CSV" "C:\Main Database\Archive\%mydate:~0,8%\IN\*.csv"
move /y "C:\Main Database\Raw\OUT\*.CSV" "C:\Main Database\Archive\%mydate:~0,8%\OUT\*.csv"
pause
如前所述,(Date)->(IN&OUT)的文件夹结构工作正常,但是当涉及到文件移动时,会出现一些问题
以下是运行的批处理文件的输出:
C:\HYS Database\Raw\Archive>for /F "skip=1" %d in ('wmic os get localdatetime')
do if not defined mydate set mydate=%d
C:\HYS Database\Raw\Archive>if not defined mydate set mydate=20130913130421.4590
00+060
:\HYS Database\Raw\Archive>if not defined mydate set mydate=
C:\HYS Database\Raw\Archive>md 20130913\IN
C:\HYS Database\Raw\Archive>md 20130913\OUT
C:\HYS Database\Raw\Archive>move /y "C:\HYS Database\Raw\IN\*.CSV" "C:\HYS Datab
ase\Archive\20130913\IN\*.csv"
C:\HYS Database\Raw\IN\INLIST_HYS,HN51KTG,2013-09-13,10-05-55-372.CSV
The system cannot find the path specified.
0 file(s) moved.
C:\HYS Database\Raw\Archive>move /y "C:\HYS Database\Raw\OUT\*.CSV" "C:\HYS Data
base\Archive\20130913\OUT\*.csv"
C:\HYS Database\Raw\OUT\OUTLIST_HYS,HN51KTG,2013-09-13,10-01-24-291.CSV
The system cannot find the path specified.
0 file(s) moved.
C:\HYS Database\Raw\Archive>pause
Press any key to continue . .
在我看来,尽管在输出中正确地识别了源文件,但它似乎很难看到源文件
我对编写批处理文件是完全陌生的,到目前为止,我所做的都是通过查看其他有类似问题的人的答案拼凑而成的,但是它并没有完全解决问题
如果有人对我如何解决这一问题提出建议,我们将不胜感激。您的目标路径不应该是:
"C:\Main Database\Raw\Archive\%mydate:~0,8% ... ?
它是:
C:\Main Database\Archive\%mydate:~0,8% ...
=>
嗯,这是一个令人尴尬的疏忽。我猜有时候这些东西会以另一个人的观点来识别。这确实使我处于有利地位!。这就是说,现在我得到一个
文件名、目录名或卷标语法不正确。
当文件移动时会显示一条消息。不要担心,这样的事情有时会花费你几个小时。很高兴我能帮忙。
move /y "C:\Main Database\Raw\IN\*.CSV" "C:\Main Database\Raw\Archive\%mydate:~0,8%\IN"
move /y "C:\Main Database\Raw\OUT\*.CSV" "C:\Main Database\Raw\Archive\%mydate:~0,8%\OUT"