Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Как пронумеровать, (.bat) кодом скопированные файлы (Desktop.ini) (http://forum.oszone.net/showthread.php?t=299894)

ufooo 17-05-2015 12:42 2508301

Как пронумеровать, (.bat) кодом скопированные файлы (Desktop.ini)
 
Как, (.bat) кодом пронумеровать скопированные файлы, чтобы они не копировались, и не заменяли друг друга. А например велось нумерация одинаковых файлов.
Например: desktop.ini, desktop.ini-1,desktop.ini-2, desktop.ini-3 и. т. д.
Код:

@echo off
Md %USERPROFILE%\Desktop\Temporary
setlocal enableextensions enabledelayedexpansion
(
for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
 for /f "delims=" %%a in ('2^>nul dir/a-d/b/s "%%i:\Desktop.ini"') do (
  >nul xcopy/hkry "%%a" "%USERPROFILE%\Desktop\Temporary\"&& (
  echo The file is found and copied to "Desktop_ini".& pause>nul& endlocal& exit/b 0
  )
 )
)
)|| (echo The file is not found.& pause>nul& endlocal& exit/b 1)


Georgio 17-05-2015 21:48 2508483

Цитата:

Цитата ufooo
Например: desktop.ini, desktop.ini-1,desktop.ini-2, desktop.ini-3 и. т. д. »





Ну это как-то "негуманно" по отношению к расширению файла, давайте лучше так: "desktop.ini", "desktop[1].ini", "desktop[2].ini", "desktop[3].ini" и т. д.



Код пакетного файла:


Код:

@echo off

set "my_file=desktop.ini"
set "my_folder=%USERPROFILE%\Desktop\Temporary"

2>nul md "%my_folder%"

setlocal
for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
 for /f "delims=" %%j in ('
  2^>nul dir/a-d/b/s "%%i:\%my_file%"
 ') do (
  if not defined count (
  set name=%%~nxj
  ) else (
  call set name=%%~nj[%%count%%]%%~xj
  )
  echo f| >nul cmd/v/c xcopy/hkry "%%j" "%my_folder%\!name!"&& (
  echo "%%j" is found and copied to "%my_folder%".
  echo.
  set/a count+=1
  )
 )
)
if not defined count (
 echo The file is not found.
)
pause>nul
endlocal

exit/b 0


.

ufooo 18-05-2015 00:58 2508524

Код работает-спасибо.
Цитата:

Цитата Georgio
давайте лучше так: "desktop.ini", "desktop[1].ini", "desktop[2].ini", desktop[3].ini" и т. д. »

Я так и думал.


Время: 21:31.

Время: 21:31.
© OSzone.net 2001-