基本的な質問:の名前変更フォルダ(まもなく) - バッチファイル
どのように私はものを行う、その後、(同じバッチで実行)最近作成したフォルダを取ることができますフォルダーをタイムスタンプで名前を変更し、新しいタイムスタンプを生成する新しいファイルを繰り返しますか?
私のバッチコードの概要と実績対期待:
私はそのディレクトリ内のすべてのファイルについては、以下の手順をループ、するバッチファイルを作成しています。
手順1(作業中):ディレクトリ内のファイルを移動してデータを抽出すると、このデータは「出力」(この手順で作成される)という名前の作成済みフォルダに出力されます。
ステップ2(作業中):この「出力」フォルダに移動し、データを「処理する」必要があります(すでに「出力」と「処理」の新しいファイルパスに入るスクリプトがあります) )
ステップ3(動作しない):「output_TimeStamp」(私の問題はある場所ですが、私のループが作成した最初のフォルダのタイムスタンプ#1を取り、すべてに名前をしようとすると、フォルダ「出力」を名前を変更フォルダのタイムスタンプ#1)
ステップ4(半加工):次のファイルを処理するためにステップ1に戻ります(すべてのファイルがディレクトリに完成するまでループします)
マイコード(私の試みのほかに少なくとも1)
::Loop to perform tasks on files in current directory
for /R %%f in (*.mp4) do (
::Extracts data from file and leaves it in a created output folder
start "" /w Sample.exe --clip "%%f" --verbose 2 --outDir output
::This goes in created output folder and does stuff to data
start "" /w C:\Users\user\Documents\winPython\WinPython-64bit-3.4.4.2\python-3.4.4.amd64\python.exe "%CD%\DoStuff.py" "%CD%\output\folder\folder2\Do.file"
::This is supposed to rename the folder with a time stamp
rename output output-%date:~4,2%-%date:~7,2%-%date:~10,4%_at_%time:~0,2%%time:~3,2%
::This is what my research came to, which increments a number in the timestamp but doesnt work
set N=0
set FILENAME=output-%date:~4,2%-%date:~7,2%-%date:~10,4%_at_%time:~0,2%%time:~3,2%.%N%
:loop
set /a N+=1
set FILENAME=output-%date:~4,2%-%date:~7,2%-%date:~10,4%_at_%time:~0,2%%time:~3,2%.%N%
if exist %FILENAME% goto :loop
echo You can safely use this name %FILENAME% to create a new file
)
私の研究
私は、多くのものを試してみましたが、リンクHow do I increment a folder name using Windows batch? とcmd line rename file with date and timeを使用しています。
私は、この質問を書いた方がずっと簡単だと思います。
1.それはループコンテキストを破るようにループ 'goto'を使用しないでくださいは。 'goto'を含むコードとそのラベルを' call'サブルーチンに入れることができます。 2.予期しない結果につながる可能性があるので、ループ内の '::'コメント(実際に無効なラベルを構成する)を避ける。代わりに 'rem'を使用してください。 3. 'date'と' time'変数に対して[delayed expansion](http://ss64.com/nt/delayedexpansion.html)を有効にします。そうでないと、ループ全体が解析されたときに常に存在する値に展開されるためです。 – aschipfl
@aschipflご返信ありがとうございます。私はあなたの変更を加えましたが、私はまだいくつかのハードルに直面しています。 [call]サブルーチンを使って何を意味するのか正確には分かりません。バッチを使用するのが非常に新しいです。私は他の変更を加えました。 – altairya
の後に最後のフォルダの最後に増分する数字を追加する方法を教えてください。現在のコードを質問に投稿して、それがあなたの期待。正確なエラーメッセージが表示される場合は、それらを含めます。 – lit