Programmieren - alles kontrollieren 4.937 Themen, 20.662 Beiträge

ordner automatisch umbennen zufallszahl

bugele2 / 5 Antworten / Flachansicht Nickles

hallo,

ich bins schon wieder.

habe hier mal ein kleines programm geschreibn das wie folgt lautet:

@echo off
set /A X=%Random%
echo der ordner wird zu %X% umbenannt
pause
ren foto %X%
exit

komischerweise erhält der ordner dann keine zufallszahl als neuen orndernamen sondern den namen "%x%" bzw.nur "x".

warum? was mache ich falsch

es handelt sich um eine batch datei und windows 98!!

schon mal danke!



bei Antwort benachrichtigen
REPI bugele2 „ordner automatisch umbennen zufallszahl“
Optionen

Eventuell geht es hiermit :

Nur flüchtig unter W95 getestet. Bringt noch zwei Syntaxfehler, aber es funktioniert.

xrename.bat

@echo off
set source=c:\temp
cd %source%
set sourcedir=test
call datum.bat a b c
set targetdir=test%A%%B%%C%
ren %sourcedir% %targetdir%

for %%e in (source sourcedir targetdir a b c ) do set %%e=

datum.bat

@echo off
for %%e in (loop loop2) do if %2´==%%e´ goto %2
set q2=%1
set q3=%2
set q4=%3
set ~t=%TEMP%.\Tmp
echo @Prompt For %%%%%%%%D In ($D) Do Call %0 : loop %%%%%%%%D>%~t%1.bat
%COMSPEC% /C %~t%1.bat.>%~t%2.bat
call %~t%2.bat
call %~t%4 q1
Echo ; | Choice /S /C:;%q1%; %0 : loop2,>%~t%1.bat
%~t%1.bat
:loop
Echo @Prompt Set %%%%1=_%3_ > %~t%3.bat
%COMSPEC% /C %~t%3.bat > %~t%4.bat
For %%C In (Call Goto:end) Do %%C %~t%4
:loop2
for %%e in (x x1 x2) do set %%e=
If %4'==_' Shift
for %%e in (set shift) do %%e x=%x%%4
for %%e in (set shift) do %%e x=%x%%4
shift
for %%e in (set shift) do %%e x1=%x1%%4
for %%e in (set shift) do %%e x1=%x1%%4
shift
for %%C in (shift set) do %%C x2=%4
for %%C in (shift set) do %%C x2=%x2%%4
for %%C in (shift set) do %%C x2=%x2%%4
for %%C in (shift set) do %%C x2=%x2%%4
:end2
set %q2%=%x%
set %q3%=%x1%
set %q4%=%x2%
del %~t%*.bat>nul
for %%e in (q2 q3 q4 q1 x x1 x2 ~t) do set %%e=
:end


Die Datei datum.bat ist nicht von mir ersonnen, die habe ich mal in einem Forum zum Thema Datum und Batch gefunden.

Es empfiehlt sich immer, etwas Linux im Hause zu haben.
bei Antwort benachrichtigen