membuat folder berdasarkan Nama File tanpa menimpa

Mengerjakan skrip di mana Staf Memindai Sertifikat Ujian Siswa melalui Mesin Fotokopi dan kemudian menempatkan salinannya ke suatu lokasi

skrip di bawah ini melakukan hal berikut

1) Memindai ke C:\users\location sebagai nama file.pdf (Anggota Staf akan memasukkan nomor Siswa secara manual di mesin fotokopi dan akan menyimpan nama file seperti itu)

2) Script kemudian membuat folder berdasarkan nama file sehingga di sini akan membuat folder bernama /nama file

3) Memindahkan PDF ke folder itu

semuanya berfungsi dengan baik namun saya mencoba memodifikasinya agar tidak tertimpa

jadi kalau misal staff salah ketik student1 dan student1 sudah ada kita tidak mau override

ada saran

skripnya seperti di bawah ini Anda dapat mengujinya

Code:

@echo off
pushd C:\Users\location
for %%F in (*.pdf) do (
  2>nul md "%%~nF"
  >nul move /y "%%~nF*.*" "%%~nF"

)
popd

person user2495138    schedule 14.05.2015    source sumber


Jawaban (1)


Anda tidak dapat menimpa folder dengan MD jadi saya kira Anda berbicara tentang operasi pemindahan:

@echo off
pushd C:\Users\location
for %%F in (*.pdf) do (
  2>nul md "%%~nF"
  echo n|move /-y "%%~nF*.*" "%%~nF"  >nul 2>nul

)
popd

atau (mungkin bergantung pada pengaturan lokal dan masukan yang diharapkan oleh move /-y)

@echo off
pushd C:\Users\location
for %%F in (*.pdf) do (
  2>nul md "%%~nF"
  echo n|move /-y "%%~nF*.*" "%%~nF" 2>&1 |find /i "0 files(s)" >nul 2>nul || (
      2>nul md "%%~nF_2"
      move "%%~nF_2*.*" "%%~nF_2" >nul 2>nul
  )

)
popd
person npocmaka    schedule 14.05.2015