我只是想将string username = ""; // String.Empty or some default values
string password = "";
// rest of code here
内的所有文件和子目录移到d:\temp\test
,所以我尝试了这些命令:
d:\temp\archive
但我得到了这个错误:
move d:\temp\test\* d:\temp\archive\
move d:\temp\test\*.* d:\temp\archive\
然后我在网上挖了一下并在doc bat中尝试了这个:
The filename, directory name, or volume label syntax is incorrect.
这次它没有显示错误,但一切都静止不动,没有任何变化。
我在这里缺少什么?我在Windows 10上尝试这个。
答案 0 :(得分:2)
好的,如果您只想从\test
\中移动所有文件目录,那么这将首先执行文件,然后批量执行目录。 for / d将复制目录和子目录和文件。
@echo off
move "d:\temp\test\*" "d:\temp\archive"
for /d %%a in ("D:\temp\test\*") do move "%%~fa" "d:\temp\archive\"
作为附注,从cmd下面运行时,你会收到一个错误。
move d:\temp\test\* d:\temp\archive
这是因为它将移动所有文件,但不移动目录。如果你得到The filename, directory name, or volume label syntax is incorrect.
,则没有文件,只有你的移动命令看不到的文件夹。
注意,/Y
开关已禁用,如果存在,则不会替换文件夹。因此,如果您打算经常进行覆盖,可能更确切地说使用xcopy
并更新存档,然后在文件成功复制后在d:\temp
中运行删除。
最后,请始终将您的路径括在双"
中。在这种情况下,它会在没有双引号的情况下正常工作,但是如果你有类似move d:\program files\temp\* d:\temp\archives
的东西,它会因为程序和文件之间的空间而产生错误,所以最好使用move "d:\program files\temp\*" "d:\temp\archive
编辑了解%%~
作业。在这些示例中,我们使用%%I
代替%%a
%~I : expands %I removing any surrounding quotes (")
%~fI : expands %I to a fully qualified path name
%~dI : expands %I to a drive letter only
%~pI : expands %I to a path only
%~nI : expands %I to a file name only
%~xI : expands %I to a file extension only
%~sI : expanded path contains short names only
%~aI : expands %I to file attributes of file
%~tI : expands %I to date/time of file
%~zI : expands %I to size of file
%~$PATH:I : searches the directories listed in the PATH
environment variable and expands %I to the
fully qualified name of the first one found.
if the environment variable name is not
defined or the file is not found by the
search, then this modifier expands to the
empty string
The modifiers can be combined to get compound results:
%~dpI : expands %I to a drive letter and path only
%~nxI : expands %I to a file name and extension only
%~fsI : expands %I to a full path name with short names only
%~dp$PATH:I : searches the directories listed in the PATH
environment variable for %I and expands to the
drive letter and path of the first one found.
%~ftzaI : expands %I to a DIR like output line`