Script v .bat

Script v .bat
« kdy: 28. 02. 2012, 05:15:13 »
Dobry den

Snazim se udelat script pro windows v .bat (prikazova radka)
Ktery pri otevreni se me zepta na cestu ke slozce napr. C:\ABC\TEST
Po zadani cesty ke slozce se vsechny soubory ve slozce a podslozkach prejmenuji na 1,2,3,4,atd
(Aby v kazde slozce zacinali soubory zase od 1 a dale)

Nevadime ktere soubory budou zrovna 1 nebo 4...
Take me napadlo ze by do scripu nebylo spatne pridat moznost prejmenovat i slozky

Jestli nekdo podobny script ma nebo by ho dokazal udelat jak se pochlubi...

Nebudu se ani zlobit jestli nekdo zna program ktery tohle dokaze ale automaticky Total Comander to umi jenom po jedne slozce...


Petr_Svetr

Re:Script v .bat
« Odpověď #1 kdy: 28. 02. 2012, 10:08:35 »
v bataku to delat nebudu, ne ze by to neslo, ale bude bylo by to delsi - co treba PowerShell?
Kód: [Vybrat]
$oppath = Read-Host "Enter path of root folder (empty is current)"
echo > rename-file.bat
$initdata=Get-ChildItem -Path $oppath -Recurse -Include *.txt |Select-Object -property FullName
$icount=1
$savepath = ""
foreach($line in $initdata){
$extension = [System.IO.Path]::GetExtension($line.FullName)
$fullpath = [system.IO.Path]::GetFullPath($line.FullName)
$filename = [System.IO.Path]::GetFileName($line.FullName)
$filefolder = [system.io.Path]::GetDirectoryName($line.FullName)
if ($savepath -ne $filefolder) {
$icount=1
$savepath = [System.IO.Path]::GetDirectoryName($line.FullName)
}
$newfilename = $filename.Replace($extension,"")+$icount+$extension
Write-Host ren $fullpath $filefolder"\"$newfilename
$icount++
}
Neni to pekny, ale jako kostru to pouzit muzes. Predpolada, ze vystup budes ukladat do *.bat a ten potom spustis.