2017-07-22 11 views
0

私はあなたに助けが必要です。私は、ランダムな数字の名前のフォルダに複数のファイルをコピーする例を試みた:
ファイルをランダムな数字の名前を持つ別のディレクトリにコピーする

xcopy /Y .\*.* .\new\%random%%random%%random%.* 

私はこの出力を得るより:

.\error2.exe 
.\icon_error.ico 
.\icon_static.ico 
.\opsec.exe 
.\static2.EXE 
5 File(s) copied 

を、私はnewディレクトリにdir /Bコマンドを実行したときに、私が取得この:

6263226566221.exe 
6263226566221.ico 

だから、基本的に3つのファイルが欠落している、私は再びそれを実行してみました/Yパラメータなしでそれは私に尋ねたDo you want to overwrite the existing file?

この問題をスキップするには、これを修正するためのシンプルで軽量なソリューションが必要です。
ありがとうございます。

答えて

0

このバッチファイルは、現在のフォルダからすべてのファイルを除外して.\newになります。出力はOK XCOPYの前にエコーを削除見れば
新しい名前が指定された一定の長さ(必要に応じて先行ゼロを詰め)

@Echo off&SetLocal EnableExtensions EnableDelayedExpansion 
Set Nulls=00000000000000000000 
Set Len=10 
For %%A in (*) Do (
    Set Num=%Nulls%!Random!!Random!!Random!!Random! 
    Echo xcopy /Y "%%A" ".\new\!Num:~-%Len%!%%~xA" 
) 
Pause 

の乱数になります。

+0

ありがとうございます!これは私をたくさん助けました! +1 –

関連する問題