Butuh bantuan sortir


1

Ok, saya mendapat laporan setiap hari, manifes penumpang. Itu hanya diberikan dalam urutan bahwa mereka mengambil reservasi, bukan waktu yang sebenarnya untuk menjemput penumpang. Setiap pesanan berisi 4 baris. Jalur 1, nomor pelanggan, Jalur 2, nama pelanggan, Jalur 3, Waktu penjemputan (24 jam), dan alamat Penjemputan Jalur 4.

Saya menggunakan Wordpad atau saya juga dapat menggunakan MS Word 2010. Saya perlu mengurutkan daftar ini berdasarkan waktu penjemputan mereka (jam 24 jam) dengan pick up paling awal terlebih dahulu. Hal pertama pada baris ke-3 adalah waktunya (mis: 04:15). Apakah ada cara yang lebih mudah untuk menyortir ini tanpa harus melihat manifes ini secara manual dan menyalin dan menempelkannya secara berurutan?


File apa itu? .txt?
brbcoding

1
dapatkah Anda memposting juga konten file contoh? Dan terutama format lengkap tanggalnya.
npocmaka

Jawaban:


0

Pertimbangkan dalam manifes Anda adalah 4 baris per penumpang dan baris # 3 adalah kriteria penyortiran yang harus digunakan:

@echo off&setlocal enabledelayedexpansion
set "plist=passenger.lst"
set "slist=pass_sort.lst"
set /a counter=10000

for /f "usebackqdelims=" %%i in ("%plist%") do (
    set "line=%%i"
    set /a index=counter%%4
    set /a pasno=counter/4
    set "$a!pasno!!index!=!line!"
    if !index! equ 2 set "$b!line!!counter!=!pasno!"
    set /a counter+=1
)
(for /f "tokens=2delims==" %%i in ('set "$b"') do (
 for /l %%a in (0,1,3) do (
  for /f "delims=" %%x in ("!$a%%i%%a!") do echo(%%x
)))>"%slist%"
type "%slist%"

Kode tidak berfungsi =!^ dalam teks. Ini mungkin diperbaiki jika diperlukan.


0
@echo off
setlocal EnableDelayedExpansion

for %%b in (number name pickTime) do set %%b=
for /F "delims=" %%a in (original.txt) do (
   if not defined number   (set "number=%%a")   else (
   if not defined name     (set "name=%%a")     else (
   if not defined pickTime (set "pickTime=%%a") else (
   set "order[!pickTime!]!number!=!name!=%%a"
   for %%b in (number name pickTime) do set %%b=
   )))
)   
(for /F "tokens=2-5 delims=[]=" %%a in ('set order[') do (
   echo %%b
   echo %%c
   echo %%a
   echo %%d
)) > sorted.txt
type sorted.txt

Program ini gagal jika file input sudah []=! karakter. Ini dapat diperbaiki, jika perlu.


Jika saya mengerti ini dengan benar SET melakukan pemesanan? Apakah ini didokumentasikan di mana saja? Jelas tidak masuk SET /?
Matt Williamson

0

Di bawah ini adalah tautan ke contoh, dengan info pribadi diubah dan disunting.
Pada baris ketiga adalah Waktu untuk PU (pikap) ini adalah satu-satunya waktu saya harus berlalu. tetapi seperti yang akan Anda lihat dengan nomor perjalanan mereka ada -A dan -B untuk setiap nama. Perjalanan akan dan perjalanan B akan kembali. waktu kembali tidak masalah, hanya waktu berjalan. tetapi setiap perjalanan A dan B harus dilakukan bersama dalam urutan dari waktu PU paling awal ke waktu PU terbaru.

Saya akan memposting di bawah ini seperti apa output yang diperlukan ketika saya mengurutkannya secara manual:

Saya melakukan ini di Wordpad dan disimpan sebagai * rtf

Jadi hanya waktu PU di -A yang relevan, tetapi catatan -b yang sesuai harus menyertainya.

Berikut ini tautan ke Contoh Daftar: http://www.docstoc.com/docs/157731527/TRIP-SHEET

Berikut ini tautan ke bagaimana tampilan akan terlihat: http://www.docstoc.com/docs/157731398/OUTPUT

Tidak memperhatikan 3 garis di bawah setiap baris, margin tidak cukup lebar, yang disinyalir menjadi semua satu garis putus-putus.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.