我有一个批处理文件,该文件可用于装有图像的文件夹。 (1)对于每个图像,它都会创建一个文件夹,并使用图像名称重命名该文件夹(2),然后将图像放入文件夹中(3),然后复制图像并将副本重命名为“ -origional”。一切正常,但是在步骤(4)中,我尝试将来自另一个目录的文件放入刚刚创建的所有文件夹中,并将其重命名为与文件夹相同。
(1) for %%i in (*.jpg) do mkdir "%%~ni"
(2) for %%i in (*.jpg) do move "%%i" "%%~ni"
(3) for /R %%f in (*.jpg) do copy "%%~f" "%%~dpnf - Original%%~xf"
(4) copy "C:\Projects\test.csv" "%%~ni\%%~dpnf.csv"
我几乎可以使用它:
copy "C:\Projects\test.csv" "%~dp0\hello.csv"
将其带到批处理文件的目录并重命名。但是我无法将其复制到新目录中并重命名。
新编辑的代码:
for %%i in (*.jpg) do mkdir "%%~ni"
for %%i in (*.jpg) do move "%%i" "%%~ni"
for /R %%f in (*.jpg) do copy "%%~f" "%%~dpnf - Original%%~xf"
for /D %%a in ("%~dp0\*.*") do xcopy /y /d C:\Projects\test.csv "%%a\"
这是最终的代码,适用于任何其他需要此代码的人:
for %%i in (*.jpg) do mkdir "%%~ni"
for %%i in (*.jpg) do move "%%i" "%%~ni"
for /R %%f in (*.jpg) do copy "%%~f" "%%~dpnf - Original%%~xf"
for /D %%a in ("*") do copy /y /d C:\Projects\test.csv "%%a\%%a.csv"
答案 0 :(得分:1)
最后一行太复杂了。如果您只想将目录匹配到当前路径,就足够了:
for /D %%a in ("*") do xcopy /y /d C:\Projects\test.csv "%%a"
要将重命名CSV文件作为复制到其中的文件夹,请执行以下操作:
for /D %%a in ("*") do xcopy /y /d C:\Projects\test.csv "%%a\%%a.csv"